#include <iterator>
#if defined(_MSC_VER)
#include <functional>
-//Squelch "decorated name length exceeded, name was truncated"
-// This compensates for templates full of templates
-#pragma warning(disable : 4503)
#endif
#include "octypes.h"
class OCResource;
class OCResourceRequest;
class OCResourceResponse;
+ class OCDirectPairing;
} // namespace OC
namespace OC
/** default flags for client. */
OCConnectivityType clientConnectivity;
+ /** transport type to initialize. */
+ OCTransportAdapter transportType;
+
/** not used. */
std::string ipAddress;
/** 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_,
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
Observe,
ObserveAll
};
- //
- // Typedef for header option vector
- // OCHeaderOption class is in HeaderOption namespace
+
+ // Typedef for list of resource handles.
+ typedef std::vector<OCResourceHandle> ResourceHandles;
+
+ // Typedef for header option vector.
+ // OCHeaderOption class is in HeaderOption namespace.
typedef std::vector<HeaderOption::OCHeaderOption> HeaderOptions;
- // Typedef for query parameter map
+ // Typedef for query parameter map.
typedef std::map<std::string, std::string> QueryParamsMap;
- // Typedef for list of observation IDs
+ // Typedef for query parameter map with Vector
+ typedef std::map< std::string, std::vector<std::string> > QueryParamsList;
+
+ // Typedef for list of observation IDs.
typedef std::vector<OCObservationId> ObservationIds;
enum class ObserveAction
// 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<std::shared_ptr<OCDirectPairing>> PairedDevices;
typedef std::function<void(std::shared_ptr<OCResource>)> FindCallback;
typedef std::function<void(const std::string&, const int)> FindErrorCallback;
+ typedef std::function<void(std::vector<std::shared_ptr<OCResource>>)> FindResListCallback;
+
typedef std::function<void(const OCRepresentation&)> FindDeviceCallback;
typedef std::function<void(const OCRepresentation&)> FindPlatformCallback;
typedef std::function<void(const HeaderOptions&,
const OCRepresentation&, const int, const int)> ObserveCallback;
+
+ typedef std::function<void(std::shared_ptr<OCDirectPairing>, OCStackResult)> DirectPairingCallback;
+
+ typedef std::function<void(const PairedDevices&)> GetDirectPairedCallback;
+
+ typedef std::function<void(const int, const std::string&,
+ std::shared_ptr<OCResource>)> MQTopicCallback;
+#ifdef TCP_ADAPTER
+ typedef std::function<void(const int, const OCRepresentation&)> KeepAliveCallback;
+#endif
} // namespace OC
#endif