From d041e78a06686290aaa4a465dffe3a0ae648ba02 Mon Sep 17 00:00:00 2001 From: Josh Ferrell Date: Wed, 28 Aug 2024 14:52:31 -0400 Subject: Add RemoteFolder C++ APIs --- collaboration.cpp | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) (limited to 'collaboration.cpp') diff --git a/collaboration.cpp b/collaboration.cpp index f99409a7..f3bb242e 100644 --- a/collaboration.cpp +++ b/collaboration.cpp @@ -1878,6 +1878,80 @@ RemoteFolder::RemoteFolder(BNRemoteFolder* folder) } +Ref RemoteFolder::GetCoreFolder() +{ + BNProjectFolder* res = BNRemoteFolderGetCoreFolder(m_object); + if (!res) + return nullptr; + return new ProjectFolder(res); +} + + +Ref RemoteFolder::GetProject() +{ + BNRemoteProject* res = BNRemoteFolderGetProject(m_object); + if (!res) + return nullptr; + return new RemoteProject(res); +} + + +Ref RemoteFolder::GetParent() +{ + BNRemoteFolder* res = nullptr; + if (!BNRemoteFolderGetParent(m_object, &res)) + return nullptr; + if (!res) + return nullptr; + return new RemoteFolder(res); +} + + +Ref RemoteFolder::GetRemote() +{ + BNRemote* res = BNRemoteFolderGetRemote(m_object); + if (!res) + return nullptr; + return new Remote(res); +} + + +std::string RemoteFolder::GetId() +{ + char* res = BNRemoteFolderGetId(m_object); + std::string out = res; + BNFreeString(res); + return out; +} + + +std::string RemoteFolder::GetUrl() +{ + char* res = BNRemoteFolderGetUrl(m_object); + std::string out = res; + BNFreeString(res); + return out; +} + + +std::string RemoteFolder::GetName() +{ + char* res = BNRemoteFolderGetName(m_object); + std::string out = res; + BNFreeString(res); + return out; +} + + +std::string RemoteFolder::GetDescription() +{ + char* res = BNRemoteFolderGetDescription(m_object); + std::string out = res; + BNFreeString(res); + return out; +} + + CollabPermission::CollabPermission(BNCollaborationPermission* permission) { m_object = permission; -- cgit v1.3.1