8 #ifndef WPP_INSTANCE_H_
9 #define WPP_INSTANCE_H_
78 uint8_t
readAsServer(lwm2m_server_t *server,
int *numDataP, lwm2m_data_t **dataArray);
79 uint8_t
writeAsServer(lwm2m_server_t *server,
int numData, lwm2m_data_t *dataArray, lwm2m_write_type_t writeType);
81 uint8_t
discoverAsServer(lwm2m_server_t *server,
int * numDataP, lwm2m_data_t **dataArray);
130 Instance *getSecurityInst(lwm2m_server_t *server);
137 bool resourceToLwm2mData(
Resource &res,
ID_T instanceId, lwm2m_data_t &data);
138 bool lwm2mDataToResource(
const lwm2m_data_t &data,
Resource &res,
ID_T instanceId);
141 Resource* getValidatedResForWrite(
const lwm2m_data_t &data, lwm2m_write_type_t writeType, uint8_t &errCode);
142 uint8_t resourceWrite(lwm2m_server_t *server,
Resource &res,
const lwm2m_data_t &data, lwm2m_write_type_t writeType);
143 Resource* getValidatedResForRead(
const lwm2m_data_t &data, uint8_t &errCode);
144 uint8_t resourceRead(lwm2m_server_t *server, lwm2m_data_t &data,
Resource &res);
145 Resource* getValidatedResForExecute(
ID_T resId, uint8_t &errCode);
146 uint8_t createEmptyLwm2mDataArray(std::vector<Resource*>
resources, lwm2m_data_t **dataArray,
int *numData);
147 bool isAllMandatoryResourcesPresent(
int numData, lwm2m_data_t *data);
148 uint8_t replaceInstance(lwm2m_server_t *server,
int numData, lwm2m_data_t *dataArray);
149 uint8_t replaceResource(lwm2m_server_t *server,
int numData, lwm2m_data_t *dataArray, lwm2m_write_type_t writeType);
152 lwm2m_context_t &_context;
The InstSubject class represents a subject that allows subscribers to be notified about various event...
Instance is interface class that implements manipulation with derived class resources....
void resourceOperationNotifier(ItemOp::TYPE type, ID_T resId, ID_T resInstId) override
Handle information about resource operation (WRITE, DELETE). Called by ResourceContainer after resour...
Instance & operator=(Instance &&)=delete
uint8_t readAsServer(lwm2m_server_t *server, int *numDataP, lwm2m_data_t **dataArray)
This methods is called by the core when the server wants to read, write, discover,...
OBJ_ID getObjectID() const
Instance(Instance &&)=delete
virtual void serverOperationNotifier(Instance *securityInst, ItemOp::TYPE type, const ResLink &resLink)=0
This method must be implemented by the derived class, and handle information about resource operation...
uint8_t discoverAsServer(lwm2m_server_t *server, int *numDataP, lwm2m_data_t **dataArray)
OBJ_LINK_T getLink() const
virtual void userOperationNotifier(ItemOp::TYPE type, const ResLink &resLink)=0
This method must be implemented by the derived class, and handle information about resource operation...
std::vector< Resource * > getInstantiatedResList()
This method return list with resources that has been instantiated. If resources does not exist then r...
Instance(const Instance &)=delete
WppRegistry & getRegistry()
Helpfull methods to get registry instances.
WppClient & getClient()
Helpfull methods to get client instances.
uint8_t executeAsServer(lwm2m_server_t *server, ID_T resId, uint8_t *buffer, int length)
Instance & operator=(const Instance &)=delete
lwm2m_context_t & getContext()
Return context that can be used by derived class.
void notifyResChanged(ID_T resId, ID_T resInstId=ID_T_MAX_VAL)
Notify server about resource value change.
ID_T getInstanceID() const
std::vector< Resource * > getResList()
This method return list with all resources that has been defined. If resources does not exist then re...
Instance(lwm2m_context_t &context, const OBJ_LINK_T &id)
uint8_t writeAsServer(lwm2m_server_t *server, int numData, lwm2m_data_t *dataArray, lwm2m_write_type_t writeType)
std::vector< Resource > & resources()
This method return list with all resources that has been defined.
The Resource class in the wpp namespace is a comprehensive and flexible class designed to handle diff...
Represents a client interface for Wpp library.
The WppRegistry class represents a registry for managing LWM2M objects.
The WppConnection class represents a connection interface for the Wpp library.
OBJ_ID
Enumeration of object IDs in the Wpp library.
The ItemOp struct represents the operations that can be performed on a instance/resource.
TYPE
Enum representing the different types of operations.
ObjLink - (object ID):(instance ID), example: 1:3. Represent as two integers in lwm2m_data_t....