11 #ifndef __LOM2M_ENTITY_H
12 #define __LOM2M_ENTITY_H
87 this->unsupportedFilter =
true;
237 std::vector<std::reference_wrapper<Observer>> observers;
245 observers.push_back(o);
288 virtual void clear();
307 this->m_creator = creator;
311 return String(type) +
"_" + String((
long)
get_utime());
370 static Entity*
getByName(
const String& name,
const String& parentName);
383 static Group* addGroup(
const String& name,
Entity* parent);
386 #if SUBSCRIPTION_FEAT
558 this->poas = std::move(
poas);
609 this->m_maxNumberOfInstances = maxNumberOfInstances;
629 this->m_locationID = locationID;
639 this->m_ontologyRef = ontologyRef;
649 this->m_disableRetrieval = disableRetrieval;
724 this->m_stateTag = stateTag;
794 #if SUBSCRIPTION_FEAT
1018 std::list<String> m_memberIds;
1019 virtual const __FlashStringHelper*
headerStr()
const
1029 m_memberIds.
clear();
1035 void addMemberId(
const String&
id)
1037 m_memberIds.push_back(
id);
1039 const std::list<String>& getMemberIds()
1043 static Group*
getByName(
const String& name);
1044 static Group* getByIdentifier(
const String& identifier);
NotificationContentType
Definition: Enum.h:31
@ NCT_ALL_ATTRIBUTES
Definition: Enum.h:33
@ FU_CONDITIONAL_RETRIEVAL
Definition: Enum.h:93
utime_t get_utime()
Definition: bsp-esp8266.cpp:23
std::function< void(int level, const char *tag, const char *data)> printfmt
Definition: bsp.h:108
Definition: Observer.h:21
String IP
Definition: lom2m.cpp:18
String ACP_ADMIN_NAME
Definition: lom2m.cpp:15
int MQTTS_PORT
Definition: lom2m.cpp:34
String MQTTS_ENDPOINT
Definition: lom2m.cpp:36
String CSE_ID
Definition: lom2m.cpp:13
String CSE_NAME
Definition: lom2m.cpp:14
String PORT
Definition: lom2m.cpp:17
int MAX_NUMBER_OF_INSTANCES_DEFAULT
Definition: lom2m.cpp:40
std::list< int > SUPPORTED_RESTYPE
Definition: lom2m.cpp:43
std::list< String > SUPPORTED_RELEASE_VERSIONS
Definition: lom2m.cpp:44
std::list< String > SERIALISATION_TYPES
Definition: lom2m.cpp:45
int CSE_TYPE
Definition: lom2m.cpp:16
#define TY9_GROUP
Definition: lom2m.h:24
#define TY1_ACP
Definition: lom2m.h:19
#define TY4_CONTENT_INSTANCE
Definition: lom2m.h:22
#define TY2_APPL_ENTITY
Definition: lom2m.h:20
#define TY5_CSEBASE
Definition: lom2m.h:23
#define TY16_REMOTE_CSE
Definition: lom2m.h:25
#define TY3_CONTAINER
Definition: lom2m.h:21
#define TY23_SUBSCRIPTION
Definition: lom2m.h:26
#define TY_NONE
Definition: lom2m.h:18
std::list< AccessControlRule > m_selfPrivileges
Definition: Entity.h:959
std::list< AccessControlRule > m_privileges
Definition: Entity.h:958
AccessControlPolicy(const String &name)
Definition: Entity.h:968
static AccessControlPolicy * getInstance()
Definition: Entity.h:991
AcpAdmin()
Definition: Entity.h:980
static AccessControlPolicy * acpInstance
Definition: Entity.h:985
void init()
Definition: Entity.cpp:588
String m_ontologyRef
Definition: Entity.h:759
std::list< String > m_contentSerialisation
Definition: Entity.h:761
virtual const __FlashStringHelper * headerStr() const
Definition: Entity.h:768
static Application * getByName(const String &name)
Definition: Entity.cpp:404
virtual ~Application()
Definition: Entity.cpp:400
std::list< String > m_supportedReleaseVersions
Definition: Entity.h:766
String m_api
Definition: Entity.h:756
std::list< String > m_poa
Definition: Entity.h:758
Application(const String &name)
Definition: Entity.h:778
bool m_rr
Definition: Entity.h:760
virtual void printLocalTo(printfmt to, int level) const
Definition: Entity.cpp:416
static Application * getByIdentifier(const String &identifier)
Definition: Entity.cpp:410
String m_apn
Definition: Entity.h:757
int getMaxNumberOfInstances() const
Definition: Entity.h:602
int getCurrentNumberOfInstances()
Definition: Entity.cpp:514
void setOntologyRef(const String &ontologyRef)
Definition: Entity.h:637
int m_maxByteSize
Definition: Entity.h:579
bool getDisableRetrieval() const
Definition: Entity.h:642
unsigned int getStateTag()
Definition: Entity.h:679
void setMaxNumberOfInstances(int maxNumberOfInstances)
Definition: Entity.h:607
int getMaxInstanceAge() const
Definition: Entity.h:592
void setLocationID(const String &locationID)
Definition: Entity.h:627
int getCurrentByteSize()
Definition: Entity.cpp:527
unsigned int m_stateTag
Definition: Entity.h:587
String m_ontologyRef
Definition: Entity.h:585
int m_maxInstanceAge
Definition: Entity.h:581
void setMaxInstanceAge(int mia)
Definition: Entity.h:597
bool m_disableRetrieval
Definition: Entity.h:586
String m_locationID
Definition: Entity.h:584
int m_maxNumberOfInstances
Definition: Entity.h:578
static Container * getByIdentifier(const String &identifier)
Definition: Entity.cpp:489
void incrementStateTag()
Definition: Entity.h:670
void clear()
Definition: Entity.cpp:495
void setDisableRetrieval(bool disableRetrieval)
Definition: Entity.h:647
int getMaxByteSize()
Definition: Entity.h:612
const String & getOntologyRef() const
Definition: Entity.h:632
void setMaxByteSize(int m_maxByteSize)
Definition: Entity.h:617
static Container * getByName(const String &name)
Definition: Entity.cpp:502
const String & getLocationID() const
Definition: Entity.h:622
virtual const __FlashStringHelper * headerStr() const
Definition: Entity.h:652
virtual void printLocalTo(printfmt to, int level) const
Definition: Entity.cpp:508
virtual ~Container()
Definition: Entity.cpp:485
Container(const String &name, Entity *parent)
Definition: Entity.h:661
virtual void printLocalTo(printfmt to, int level) const
Definition: Entity.cpp:559
virtual const __FlashStringHelper * headerStr() const
Definition: Entity.h:703
ContentInstance(const String &name, Container *parent)
Definition: Entity.h:713
void setContentFormat(const String &contentFormat)
Definition: Entity.h:742
const String & getContentFormat() const
Definition: Entity.h:737
String m_contentFormat
Definition: Entity.h:699
void setStateTag(unsigned int stateTag)
Definition: Entity.h:723
void setContent(String content)
Definition: Entity.h:732
const String & getContent() const
Definition: Entity.h:727
String m_content
Definition: Entity.h:700
unsigned int getStateTag()
Definition: Entity.h:720
virtual ~ContentInstance()
Definition: Entity.cpp:549
static ContentInstance * getByName(const String &name)
Definition: Entity.cpp:553
unsigned int m_stateTag
Definition: Entity.h:701
static ContentInstance * getByIdentifier(const String &identifier)
Definition: Entity.cpp:543
CseBase()
Definition: Entity.h:413
std::list< String > m_supportedReleaseVersions
Definition: Entity.h:408
void init()
Definition: Entity.cpp:435
String m_cseId
Definition: Entity.h:403
std::list< String > m_contentSerializationTypes
Definition: Entity.h:407
int m_cst
Definition: Entity.h:404
String getResourceIdentifier()
Definition: Entity.cpp:430
void clear()
Definition: Entity.cpp:439
static CseBase * csbInstance
Definition: Entity.h:429
std::list< int > m_supportedResTypes
Definition: Entity.h:405
std::list< String > m_poas
Definition: Entity.h:406
const String & getParentID() const
Definition: Entity.h:449
static CseBase * getInstance()
Definition: Entity.h:437
void printTo(printfmt to, int level=0) const
Definition: Entity.cpp:261
time_t m_time_expiration
Definition: Entity.h:273
std::list< Entity * > collection
Definition: Entity.h:263
void setExpirationTime(String et)
Definition: Entity.cpp:202
String m_name
Definition: Entity.h:270
static bool remove(const String &name, int ty=TY_NONE)
String getFullName()
Definition: Entity.cpp:180
static collectionIt findByResource(const String &name)
Definition: Entity.cpp:123
Application * getApplication()
Definition: Entity.cpp:80
CseBase * getCseBase()
Definition: Entity.cpp:66
void notify_observers()
Definition: Entity.h:250
bool addChild(Entity *e)
Definition: Entity.cpp:357
const String & getName() const
Definition: Entity.h:327
Container * getContainer()
Definition: Entity.cpp:85
static void deleteEntity(Entity *e, bool r=false)
Definition: Entity.cpp:287
static Entity * getByIdentifier(const String &identifier)
Definition: Entity.cpp:243
static String generateName(int type)
Definition: Entity.h:309
time_t m_time_creation
Definition: Entity.h:273
static Entity * getByName(const String &name)
Definition: Entity.cpp:220
collection::iterator collectionIt
Definition: Entity.h:264
int getType() const
Definition: Entity.h:331
void register_observer(Observer &o)
Definition: Entity.h:243
int m_type
Definition: Entity.h:272
std::list< String > m_labels
Definition: Entity.h:275
AccessControlPolicy * getAcp()
Definition: Entity.cpp:70
Application * getApplicationParent()
Definition: Entity.h:358
static Subscription * addSubscription(const String &name, Entity *parent)
Definition: Entity.cpp:351
String getIdentifier()
Definition: Entity.cpp:159
void init()
Definition: Entity.cpp:207
Entity()
Definition: Entity.h:279
virtual void clear()
Definition: Entity.cpp:212
virtual void printLocalTo(printfmt to, int level) const
Definition: Entity.h:290
void setCreator(String creator)
Definition: Entity.h:305
Subscription * getSubscription()
Definition: Entity.cpp:102
String getResourceIdentifier()
Definition: Entity.cpp:168
Children::iterator Child
Definition: Entity.h:266
std::list< AccessControlPolicy * > m_acps
Definition: Entity.h:277
Entity * m_parent
Definition: Entity.h:274
static collection entities
Definition: Entity.h:373
static Entity * getByHierUri(const String &uri)
Definition: Entity.cpp:140
void setResourceID(String id)
Definition: Entity.h:296
Container * getContainerParent()
Definition: Entity.h:362
virtual const __FlashStringHelper * headerStr() const
Definition: Entity.h:283
Children children
Definition: Entity.h:268
static Application * addApplication(const String &name)
Definition: Entity.cpp:332
const String & getCreator() const
Definition: Entity.h:301
String m_resourceId
Definition: Entity.h:269
const String getParentID() const
Definition: Entity.h:313
time_t m_time_modification
Definition: Entity.h:273
ContentInstance * getInstance()
Definition: Entity.cpp:90
std::list< Entity * > Children
Definition: Entity.h:265
virtual ~Entity()
Definition: Entity.cpp:275
String m_creator
Definition: Entity.h:276
static RemoteCse * addRemoteCse(const String &name, CseBase *parent)
Definition: Entity.cpp:339
static collectionIt findByName(const String &name)
Definition: Entity.cpp:113
String m_parentID
Definition: Entity.h:271
Children getChildren()
Definition: Entity.h:341
static ContentInstance * addInstance(const String &name, Container *parent)
Definition: Entity.cpp:345
static Container * addContainer(const String &name, Entity *parent)
Definition: Entity.cpp:327
RemoteCse * getRemoteCse()
Definition: Entity.cpp:75
FilterCriteria()
Definition: Entity.h:81
int getStateTagBigger()
Definition: Entity.h:149
String unmodifiedSince
Definition: Entity.h:47
void init()
Definition: Entity.h:65
void setOffset(int offset)
Definition: Entity.h:121
bool unsupportedFilter
Definition: Entity.h:63
String createdBefore
Definition: Entity.h:44
void setStateTagBigger(int stateTagBigger)
Definition: Entity.h:153
String expireBefore
Definition: Entity.h:50
int getSizeBelow()
Definition: Entity.h:125
int getLimit()
Definition: Entity.h:101
std::list< int > resourceType
Definition: Entity.h:53
void setLimit(int limit)
Definition: Entity.h:105
void setExpireAfter(const String &expireAfter)
Definition: Entity.h:169
void setExpireBefore(const String &expireBefore)
Definition: Entity.h:161
int level
Definition: Entity.h:61
int stateTagSmaller
Definition: Entity.h:48
void setLabels(std::list< String > &labels)
Definition: Entity.h:177
const String & getExpireBefore()
Definition: Entity.h:157
bool hasUnsupportedFilter()
Definition: Entity.h:89
int filterUsage
Definition: Entity.h:59
int getLevel()
Definition: Entity.h:109
int getSizeAbove()
Definition: Entity.h:189
int stateTagBigger
Definition: Entity.h:49
std::list< String > labels
Definition: Entity.h:52
void unsupportedFilterOn()
Definition: Entity.h:85
int getStateTagSmaller()
Definition: Entity.h:141
const String & getCreatedAfter()
Definition: Entity.h:205
int getFilterUsage()
Definition: Entity.h:93
int sizeBelow
Definition: Entity.h:55
std::list< String > & getLabels()
Definition: Entity.h:173
void setLevel(int level)
Definition: Entity.h:113
void setCreatedAfter(const String &createdAfter)
Definition: Entity.h:209
const String & getCreatedBefore()
Definition: Entity.h:197
std::list< int > getResourceType()
Definition: Entity.h:181
void setUnmodifiedSince(const String &unmodifiedSince)
Definition: Entity.h:225
void setFilterUsage(int filterUsage)
Definition: Entity.h:97
int limit
Definition: Entity.h:60
int sizeAbove
Definition: Entity.h:54
String createdAfter
Definition: Entity.h:45
String modifiedSince
Definition: Entity.h:46
void setSizeBelow(int sizeBelow)
Definition: Entity.h:129
void setModifiedSince(const String &modifiedSince)
Definition: Entity.h:217
void setCreatedBefore(const String &createdBefore)
Definition: Entity.h:201
std::list< String > contentType
Definition: Entity.h:56
int getOffset()
Definition: Entity.h:117
std::list< String > getContentType()
Definition: Entity.h:133
void addResourceType(int resourceType)
Definition: Entity.h:185
void setSizeAbove(int sizeAbove)
Definition: Entity.h:193
String expireAfter
Definition: Entity.h:51
const String & getModifiedSince()
Definition: Entity.h:213
const String & getUnmodifiedSince()
Definition: Entity.h:221
void setStateTagSmaller(int stateTagSmaller)
Definition: Entity.h:145
void setContentType(std::list< String > contentType)
Definition: Entity.h:137
int offset
Definition: Entity.h:62
const String & getExpireAfter()
Definition: Entity.h:165
void setSupportedReleaseVersions(std::list< String > &&supportedReleaseVersions)
Definition: Entity.h:496
static RemoteCse * getByName(const String &name)
Definition: Entity.cpp:470
void setContentSerializationTypes(std::list< String > &&contentSerializationTypes)
Definition: Entity.h:516
const String & getCseID() const
Definition: Entity.h:531
std::list< String > supportedReleaseVersions
Definition: Entity.h:475
std::list< String > poas
Definition: Entity.h:461
void setPoas(std::list< String > &&poas)
Definition: Entity.h:556
String cseID
Definition: Entity.h:463
const std::list< String > & getDescendantCses() const
Definition: Entity.h:501
static RemoteCse * getByIdentifier(const String &identifier)
Definition: Entity.cpp:476
const std::list< String > & getPoas() const
Definition: Entity.h:551
std::list< String > contentSerializationTypes
Definition: Entity.h:468
const std::list< String > & getSupportedReleaseVersions() const
Definition: Entity.h:491
RemoteCse(const String &name, Entity *parent)
Definition: Entity.h:481
int getCseType() const
Definition: Entity.h:561
void setDescendantCses(std::list< String > &&descendantCses)
Definition: Entity.h:506
bool getRequestReachability() const
Definition: Entity.h:521
void setCseBase(const String &cseBase)
Definition: Entity.h:546
void setRequestReachability(bool requestReachability)
Definition: Entity.h:526
int cseType
Definition: Entity.h:460
const String & getCseBase() const
Definition: Entity.h:541
std::list< String > descendantCses
Definition: Entity.h:471
const std::list< String > & getContentSerializationTypes() const
Definition: Entity.h:511
void setCseID(const String &cseID)
Definition: Entity.h:536
void clear()
Definition: Entity.cpp:459
String cseBase
Definition: Entity.h:462
void setCseType(int cseType)
Definition: Entity.h:566
bool requestReachability
Definition: Entity.h:466
void init()
Definition: Entity.cpp:454
void setPreSubscriptionNotify(int preSubscriptionNotify)
Definition: Entity.h:861
int notificationStoragePriority
Definition: Entity.h:810
void setCreator(const String &creator)
Definition: Entity.h:926
void setNotificationForwardingURI(String notificationForwardingURI)
Definition: Entity.h:848
String notificationEventCat
Definition: Entity.h:813
virtual ~Subscription()
Definition: Entity.cpp:568
static Subscription * getByName(const String &name)
Definition: Entity.cpp:579
const String & getSubscriberURI() const
Definition: Entity.h:931
void setPendingNotification(int pendingNotification)
Definition: Entity.h:871
int preSubscriptionNotify
Definition: Entity.h:808
NotificationContentType notificationContentType
Definition: Entity.h:812
std::list< String > getNotificationURI()
Definition: Entity.h:941
const String & getNotificationForwardingURI() const
Definition: Entity.h:843
String notificationForwardingURI
Definition: Entity.h:807
void setLatestNotify(bool latestNotify)
Definition: Entity.h:891
void setNotificationURI(std::list< String > &¬ificationURI)
Definition: Entity.h:946
const String & getNotificationEventCat() const
Definition: Entity.h:911
int getNotificationStoragePriority() const
Definition: Entity.h:876
const String & getCreator() const
Definition: Entity.h:921
bool getLatestNotify() const
Definition: Entity.h:886
int pendingNotification
Definition: Entity.h:809
static Subscription * getByIdentifier(const String &identifier)
Definition: Entity.cpp:573
void setSubscriberURI(const String &subscriberURI)
Definition: Entity.h:936
void setExpirationCounter(int expirationCounter)
Definition: Entity.h:838
int getPendingNotification() const
Definition: Entity.h:866
Subscription(const String &name, Entity *parent)
Definition: Entity.h:822
int getExpirationCounter() const
Definition: Entity.h:833
int getPreSubscriptionNotify() const
Definition: Entity.h:856
String groupID
Definition: Entity.h:806
void setNotificationContentType(NotificationContentType notificationContentType)
Definition: Entity.h:901
NotificationContentType getNotificationContentType() const
Definition: Entity.h:896
void setNotificationEventCat(const String ¬ificationEventCat)
Definition: Entity.h:916
void setNotificationContentType(int nct)
Definition: Entity.h:906
void setNotificationStoragePriority(int notificationStoragePriority)
Definition: Entity.h:881
int expirationCounter
Definition: Entity.h:804
String subscriberURI
Definition: Entity.h:815
bool latestNotify
Definition: Entity.h:811
std::list< String > notificationURI
Definition: Entity.h:805
String creator
Definition: Entity.h:814