5 #ifndef INCLUDE_CBE_ITEM_H_
6 #define INCLUDE_CBE_ITEM_H_
13 #include "cbe/Types.h"
14 #include "cbe/Utility.h"
18 using ItemPtr = std::shared_ptr<CBI::Item>;
19 class ItemEventProtocol;
20 using ItemDelegatePtr = std::shared_ptr<ItemEventProtocol>;
21 class PublishEventProtocol;
23 class SubscribeEventProtocol;
119 bool operator<(
const cbe::Item& rh)
const;
145 explicit operator bool()
const;
147 friend std::ostream& operator<<(std::ostream& os,
const Item& item);
150 std::shared_ptr<Impl> pImpl{};
158 Item(CBI::ItemPtr cbiPeerPtr);
159 CBI::Item& getCbiPeer()
const;
161 Item(std::shared_ptr<Impl> pImpl);
163 template <
class ImplT>
164 ImplT& castImpl()
const;
166 CBI::ItemPtr& getCbiPeerPtr();
167 const CBI::ItemPtr& getCbiPeerPtr()
const;
172 std::ostream& operator<<(std::ostream& os,
ItemType itemType);
The session that holds the connection with the cloud.
Definition: CloudBackend.h:47
A collection of Item, can also represent a table or folder.
Definition: Container.h:63
A set made up of Container and Object.
Definition: Item.h:36
bool hasSubscribe() const
cbe::UserId ownerId() const
cbe::Date created() const
Subscribe getSubscribe() const
cbe::ShareId getShareFromUserId(cbe::UserId userId)
cbe::ShareIds getShareIds() const
cbe::UserId getUserFromShareId(cbe::UserId shareId)
cbe::ContainerId driveId() const
cbe::Date updated() const
std::string description() const
std::string aclTag() const
cbe::ContainerId parentId() const
cbe::ItemType type() const
cbe::Date deleted() const
std::string username() const
cbe::ContainerId oldParentId() const
Publish getPublished() const
bool hasPublished() const
Holder of a set of data, can represent a table row.
Definition: Object.h:64
Managing the list of web shares.
Definition: PublishManager.h:21
Managing a published Item.
Definition: Publish.h:23
resultset of data retrieved.
Definition: QueryResult.h:51
For managing subscriptions.
Definition: SubscribeManager.h:30
Managing a subscribed Item.
Definition: Subscribe.h:24
std::shared_ptr< SubscribeDelegate > SubscribeDelegatePtr
Definition: SubscribeDelegate.h:60
std::shared_ptr< PublishDelegate > PublishDelegatePtr
Definition: PublishDelegate.h:66
Root namespace for the CloudBackend SDK API.
Definition: Account.h:22
std::uint64_t ItemId
Id of a cbe::Container or cbe::Object.
Definition: Types.h:88
std::map< cbe::AclGroupId, std::pair< cbe::Permissions, AclScope > > AclMap
ACL map (Access Control List) relating to users and groups.
Definition: Types.h:390
std::uint64_t ShareId
Uniquely identifies a sharing of a cbe::Container or cbe::Object.
Definition: Types.h:113
std::uint64_t UserId
Uniquely identifies the CBE user number.
Definition: Types.h:126
std::uint64_t ContainerId
Unique Id of a cbe::Container.
Definition: Types.h:60
DefaultCtor
Default constructor marker.
Definition: Types.h:204
ItemType
Definition: Types.h:242
std::uint64_t Date
A time-stamp in the unix epoch format.
Definition: Types.h:80
std::map< cbe::ShareId, std::vector< cbe::ShareData > > ShareIds
Map of cbe::ShareData for a specific cbe::ShareId.
Definition: Types.h:447