C++  1.4.6
CloudBackend Software Development Kit - SDK API for C++
Item.h
1 /*
2  Copyright © CloudBackend AB 2020 - 2022..
3 */
4 
5 #ifndef INCLUDE_CBE_ITEM_H_
6 #define INCLUDE_CBE_ITEM_H_
7 
8 #include <thread>
9 #include <mutex>
10 #include <map>
11 #include <string>
12 #include <vector>
13 #include "CBE/Types.h"
14 
15 namespace CBE
16 {
22 class ObjectUpdater;
23 class Item {
24  public:
30  virtual std::map<uint64_t, std::vector<CBE::ShareData>> getShareIds() const;
31 
37  virtual CBE::share_id_t getShareFromUserId(user_id_t userId);
38 
44  virtual CBE::user_id_t getUserFromShareId(user_id_t shareId);
45 
51  virtual std::string aclTag() const;
52 
58  virtual std::string description() const;
59 
65  virtual CBE::item_id_t id() const;
66 
73  virtual CBE::container_id_t parentId() const;
74 
80  virtual CBE::container_id_t oldParentId() const;
81 
87  virtual std::string name() const;
88 
94  virtual std::string path() const;
95 
101  virtual CBE::user_id_t ownerId() const;
102 
109  virtual CBE::container_id_t driveId() const;
110 
116  virtual std::string username() const;
117 
124  virtual bool idLoaded() const;
125 
132  virtual bool dataLoaded() const;
133 
139  virtual CBE::date_t created() const;
140 
146  virtual CBE::date_t updated() const;
147 
153  virtual CBE::date_t deleted() const;
154 
160  virtual CBE::item_t type() const;
161 
169  virtual bool operator<(const CBE::Item &other) const;
170 
176  std::map<uint64_t, CBE::permission_status_t> ACLMap() const;
177 
179  virtual ~Item(){};
180 
181 protected:
182  Item() {}
183  // Item(CBE::item_id_t _tempId, CBE::item_id_t _id, CBE::container_id_t _parentId, CBE::container_id_t _oldParentId, std::string _name, CBE::user_id_t _userId, CBE::user_id_t _ownerId, CBE::container_id_t _driveId, std::string _username, CBE::date_t _created, CBE::date_t _updated, CBE::date_t _deleted, CBE::item_t _type);
184  // static CBE::item_id_t _currentTempId;
185 
186 
187  // static std::mutex _tempIdMutex;
188 
189 };
190 } // namespace CBE
191 // namespace XAPI
192 
193 #endif // INCLUDE_XAPI_ITEM_H_
CBE::Item::oldParentId
virtual CBE::container_id_t oldParentId() const
gets the numerical id of the old parent container in case it has moved.
CBE::Item::parentId
virtual CBE::container_id_t parentId() const
Returns the id of the Items parent.
CBE::Item::path
virtual std::string path() const
Returns the path if it is available.
CBE::Item::getShareFromUserId
virtual CBE::share_id_t getShareFromUserId(user_id_t userId)
Get the shareId from userId.
CBE::Item::deleted
virtual CBE::date_t deleted() const
Returns the delete date and time in Epoch Unix timestamp if object was removed.
CBE::Item::ownerId
virtual CBE::user_id_t ownerId() const
Returns the owner id.
CBE::Item::id
virtual CBE::item_id_t id() const
Returns an Items id.
CBE::Item::created
virtual CBE::date_t created() const
Returns the creation date and time in Epoch Unix timestamp.
CBE::Item::aclTag
virtual std::string aclTag() const
Get the ACL tag of the item.
CBE::Item::dataLoaded
virtual bool dataLoaded() const
data loaded
CBE::Item::driveId
virtual CBE::container_id_t driveId() const
Returns which drive the container resides on. For future implementation.
CBE::Item::ACLMap
std::map< uint64_t, CBE::permission_status_t > ACLMap() const
Type definition of the ACL map.
CBE::Item::name
virtual std::string name() const
Returns the name (title) of the item.
CBE::Item::idLoaded
virtual bool idLoaded() const
has anything been loaded?
CBE::Item::~Item
virtual ~Item()
This function should not be called as it will not continue to be public and any call made on the item...
Definition: Item.h:179
CBE::Item::type
virtual CBE::item_t type() const
Container or Object.
CBE::Item
Definition: Item.h:23
CBE::Item::operator<
virtual bool operator<(const CBE::Item &other) const
operator <
CBE::Item::description
virtual std::string description() const
Get a description of the item if it is available.
CBE::Item::getUserFromShareId
virtual CBE::user_id_t getUserFromShareId(user_id_t shareId)
Get the shareId from userId.
CBE::Item::username
virtual std::string username() const
Returns the username of a Containers' owner.
CBE::Item::getShareIds
virtual std::map< uint64_t, std::vector< CBE::ShareData > > getShareIds() const
Get the Share Ids object.
CBE::Item::updated
virtual CBE::date_t updated() const
Returns the updated date and time in Epoch Unix timestamp.