X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Finclude%2FOCApi.h;h=5fb2b92dd324e516b167a694c7ccfd6cb1214c46;hb=c315c87e07c4080ecd0ef488e7a1047bc3c509b2;hp=5c5024d7c6ea430872d8c2fbd3e35d57ab697b9c;hpb=b79dc9e23777bca1995ae5fbb63d1b7071a0f079;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/include/OCApi.h b/resource/include/OCApi.h index 5c5024d..5fb2b92 100644 --- a/resource/include/OCApi.h +++ b/resource/include/OCApi.h @@ -18,8 +18,8 @@ // //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -#ifndef __INTEL_OCAPI_H_2014_07_10 -#define __INTEL_OCAPI_H_2014_07_10 +#ifndef OC_OCAPI_H_ +#define OC_OCAPI_H_ #include #include @@ -27,6 +27,9 @@ #include #include #include +#if defined(_MSC_VER) +#include +#endif #include "octypes.h" #include "OCHeaderOption.h" @@ -41,10 +44,14 @@ namespace OC class OCResource; class OCResourceRequest; class OCResourceResponse; + class OCDirectPairing; } // namespace OC namespace OC { +#if defined(_MSC_VER) + extern std::ostream& oclog(); +#else typedef boost::iostreams::stream log_target_t; namespace detail @@ -65,7 +72,7 @@ namespace OC { return detail::oclog_target(); }; - +#endif } // namespace OC namespace OC @@ -97,7 +104,8 @@ namespace OC { Server, Client, - Both + Both, + Gateway /**< Client server mode along with routing capabilities.*/ }; /** @@ -138,6 +146,9 @@ namespace OC /** default flags for client. */ OCConnectivityType clientConnectivity; + /** transport type to initialize. */ + OCTransportAdapter transportType; + /** not used. */ std::string ipAddress; @@ -150,31 +161,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_, @@ -182,16 +214,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_), + 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_) + ps(ps_), + psEnc(psEnc_), + psRescue(psRescue_), + key(key_) {} + }; enum RequestHandlerFlag @@ -205,15 +313,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 list of observation IDs + // Typedef for query parameter map with Vector + typedef std::map< std::string, std::vector > QueryParamsList; + + // Typedef for list of observation IDs. typedef std::vector ObservationIds; enum class ObserveAction @@ -228,6 +342,10 @@ namespace OC ObserveAction action; // Identifier for observation being registered/unregistered OCObservationId obsId; + + OCConnectivityType connectivityType; + std::string address; + uint16_t port; } ObservationInfo; // const strings for different interfaces @@ -244,9 +362,15 @@ namespace OC // Used in GET, PUT, POST methods on links to other remote resources of a group. const std::string GROUP_INTERFACE = "oic.mi.grp"; + //Typedef for list direct paired devices + typedef std::vector> PairedDevices; typedef std::function)> FindCallback; + typedef std::function FindErrorCallback; + + typedef std::function>)> FindResListCallback; + typedef std::function FindDeviceCallback; typedef std::function FindPlatformCallback; @@ -270,6 +394,16 @@ namespace OC typedef std::function ObserveCallback; + + typedef std::function, OCStackResult)> DirectPairingCallback; + + typedef std::function GetDirectPairedCallback; + + typedef std::function)> MQTopicCallback; +#ifdef TCP_ADAPTER + typedef std::function KeepAliveCallback; +#endif } // namespace OC #endif