X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Finclude%2FOCApi.h;h=493012aecb18254eb7bbb9086a553fa8502f32e9;hb=37544f38dedd2bc679968ec70da20357608b8504;hp=1188db1b39d04032edcc00bbe2326a556a401d7c;hpb=7b017138673175a8a5891b242efca8ed44227349;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/include/OCApi.h b/resource/include/OCApi.h index 1188db1..493012a 100644 --- a/resource/include/OCApi.h +++ b/resource/include/OCApi.h @@ -59,7 +59,7 @@ namespace OC /* We'll want to provide some sort of explicit hook for custom logging at some point; until then, this should do nicely (note that since these are lambdas, later a special target could be captured, allowing much flexibility): */ - auto oclog_target = []() -> log_target_t& + inline auto oclog_target = []() -> log_target_t& { static OC::oc_log_stream ols(oc_make_ostream_logger); static log_target_t os(ols); @@ -68,7 +68,7 @@ namespace OC }; } // namespace OC::detail - auto oclog = []() -> boost::iostreams::stream& + inline auto oclog = []() -> boost::iostreams::stream& { return detail::oclog_target(); }; @@ -126,7 +126,9 @@ namespace OC HighQos = OC_HIGH_QOS, /** No Quality is defined, let the stack decide. */ - NaQos = OC_NA_QOS + NaQos = OC_NA_QOS, + + LowQosWithTcp = OC_LOW_QOS_WITH_TCP }; /** @@ -146,6 +148,9 @@ namespace OC /** default flags for client. */ OCConnectivityType clientConnectivity; + /** transport type to initialize. */ + OCTransportAdapter transportType; + /** not used. */ std::string ipAddress; @@ -158,31 +163,52 @@ namespace OC /** persistant storage Handler structure (open/read/write/close/unlink). */ OCPersistentStorage *ps; + /** persistant storage Handler structure (open/read/write/close/unlink). */ + OCPersistentStorage *psEnc; + + /** persistant storage Handler structure (open/read/write/close/unlink). */ + OCPersistentStorage *psRescue; + + /** pointer to save key. */ + unsigned char* key; + public: PlatformConfig() : serviceType(ServiceType::InProc), mode(ModeType::Both), serverConnectivity(CT_DEFAULT), clientConnectivity(CT_DEFAULT), + transportType(OC_DEFAULT_ADAPTER), ipAddress("0.0.0.0"), port(0), - QoS(QualityOfService::NaQos), - ps(nullptr) + QoS(QualityOfService::NaQos), + ps(nullptr), + psEnc(nullptr), + psRescue(nullptr), + key(nullptr) {} PlatformConfig(const ServiceType serviceType_, const ModeType mode_, OCConnectivityType serverConnectivity_, OCConnectivityType clientConnectivity_, const QualityOfService QoS_, - OCPersistentStorage *ps_ = nullptr) + OCPersistentStorage *ps_ = nullptr, + OCPersistentStorage *psEnc_ = nullptr, + OCPersistentStorage *psRescue_ = nullptr, + unsigned char *key_ = nullptr) : serviceType(serviceType_), mode(mode_), serverConnectivity(serverConnectivity_), clientConnectivity(clientConnectivity_), + transportType(OC_DEFAULT_ADAPTER), ipAddress(""), port(0), - QoS(QoS_), - ps(ps_) + QoS(QoS_), + ps(ps_), + psEnc(psEnc_), + psRescue(psRescue_), + key(key_) + {} // for backward compatibility PlatformConfig(const ServiceType serviceType_, @@ -190,16 +216,92 @@ namespace OC const std::string& ipAddress_, const uint16_t port_, const QualityOfService QoS_, - OCPersistentStorage *ps_ = nullptr) + OCPersistentStorage *ps_ = nullptr, + OCPersistentStorage *psEnc_ = nullptr, + OCPersistentStorage *psRescue_ = nullptr, + unsigned char *key_ = nullptr) : serviceType(serviceType_), mode(mode_), serverConnectivity(CT_DEFAULT), clientConnectivity(CT_DEFAULT), + transportType(OC_DEFAULT_ADAPTER), ipAddress(ipAddress_), port(port_), + QoS(QoS_), + ps(ps_), + psEnc(psEnc_), + psRescue(psRescue_), + key(key_) + + {} + + PlatformConfig(const ServiceType serviceType_, + const ModeType mode_, + const std::string& ipAddress_, + const uint16_t port_, + const OCTransportAdapter transportType_, + const QualityOfService QoS_, + unsigned char *key_, + OCPersistentStorage *ps_ = nullptr, + OCPersistentStorage *psEnc_ = nullptr, + OCPersistentStorage *psRescue_ = nullptr) + : serviceType(serviceType_), + mode(mode_), + transportType(transportType_), + ipAddress(ipAddress_), + port(port_), + QoS(QoS_), + ps(ps_), + psEnc(psEnc_), + psRescue(psRescue_), + key(key_) + {} + + PlatformConfig(const ServiceType serviceType_, + const ModeType mode_, + OCTransportAdapter transportType_, + const QualityOfService QoS_, + OCPersistentStorage *ps_ = nullptr, + OCPersistentStorage *psEnc_ = nullptr, + OCPersistentStorage *psRescue_ = nullptr, + unsigned char *key_ = nullptr) + : serviceType(serviceType_), + mode(mode_), + serverConnectivity(CT_DEFAULT), + clientConnectivity(CT_DEFAULT), + transportType(transportType_), + ipAddress(""), + port(0), QoS(QoS_), - ps(ps_) + ps(ps_), + psEnc(psEnc_), + psRescue(psRescue_), + key(key_) {} + PlatformConfig(const ServiceType serviceType_, + const ModeType mode_, + OCConnectivityType serverConnectivity_, + OCConnectivityType clientConnectivity_, + OCTransportAdapter transportType_, + const QualityOfService QoS_, + OCPersistentStorage *ps_ = nullptr, + OCPersistentStorage *psEnc_ = nullptr, + OCPersistentStorage *psRescue_ = nullptr, + unsigned char *key_ = nullptr) + : serviceType(serviceType_), + mode(mode_), + serverConnectivity(serverConnectivity_), + clientConnectivity(clientConnectivity_), + transportType(transportType_), + ipAddress(""), + port(0), + QoS(QoS_), + ps(ps_), + psEnc(psEnc_), + psRescue(psRescue_), + key(key_) + {} + }; enum RequestHandlerFlag @@ -213,18 +315,21 @@ namespace OC Observe, ObserveAll }; - // - // Typedef for header option vector - // OCHeaderOption class is in HeaderOption namespace + + // Typedef for list of resource handles. + typedef std::vector ResourceHandles; + + // Typedef for header option vector. + // OCHeaderOption class is in HeaderOption namespace. typedef std::vector HeaderOptions; - // Typedef for query parameter map + // Typedef for query parameter map. typedef std::map QueryParamsMap; // Typedef for query parameter map with Vector typedef std::map< std::string, std::vector > QueryParamsList; - // Typedef for list of observation IDs + // Typedef for list of observation IDs. typedef std::vector ObservationIds; enum class ObserveAction @@ -266,6 +371,8 @@ namespace OC typedef std::function FindErrorCallback; + typedef std::function>)> FindResListCallback; + typedef std::function FindDeviceCallback; typedef std::function FindPlatformCallback; @@ -294,10 +401,11 @@ namespace OC typedef std::function GetDirectPairedCallback; - typedef std::function)> MQCreateTopicCallback; - + typedef std::function)> MQTopicCallback; +#ifdef TCP_ADAPTER + typedef std::function KeepAliveCallback; +#endif } // namespace OC #endif