class OCResource;
class EnrolleeSecurity;
+ typedef std::function<void(const HeaderOptions& headerOptions,
+ const OCRepresentation& rep,
+ const int eCode)> ESEnrolleeResourceCb;
/**
* This class contains the resource discovery methods.
*
* @see EnrolleeResource
*/
- class EnrolleeResource
+ class EnrolleeResource : public std::enable_shared_from_this<EnrolleeResource>
{
friend class EnrolleeSecurity;
const GetConfigurationStatusCb callback);
void registerDevicePropProvStatusCallback(
const DevicePropProvStatusCb callback);
+ void registerConnectRequestStatusCallback(
+ const ConnectRequestStatusCb callback);
void getConfiguration();
void getStatus();
-
void provisionProperties(const DeviceProp& deviceProp);
+ void requestToConnect(const std::vector<ES_CONNECT_TYPE> &connectTypes);
private:
std::shared_ptr< OC::OCResource > m_ocResource;
GetStatusCb m_getStatusCb;
GetConfigurationStatusCb m_getConfigurationStatusCb;
DevicePropProvStatusCb m_devicePropProvStatusCb;
+ ConnectRequestStatusCb m_connectRequestStatusCb;
private:
+ static void onEnrolleeResourceSafetyCB(const HeaderOptions& headerOptions,
+ const OCRepresentation& rep,
+ const int eCode,
+ ESEnrolleeResourceCb cb,
+ std::weak_ptr<EnrolleeResource> this_ptr);
+
+
void onGetStatusResponse(const HeaderOptions& headerOptions,
const OCRepresentation& rep,
const int eCode);
void onProvisioningResponse(const HeaderOptions& headerOptions,
const OCRepresentation& rep,
const int eCode);
+ void onConnectRequestResponse(const HeaderOptions& headerOptions,
+ const OCRepresentation& rep,
+ const int eCode);
};
}
}