#include "OCApi.h"
using namespace OC;
+
class ClientWorker
{
private:
- bool m_isFoo;
- int m_barCount;
void putResourceInfo(const HeaderOptions& headerOptions,
const OCRepresentation rep, const OCRepresentation rep2, const int eCode)
{
}
public:
+ ClientWorker(OCConnectivityType ct):m_connectivityType{ct}
+ {}
+
void start()
{
+ std::ostringstream requestURI;
+ requestURI << OC_MULTICAST_DISCOVERY_URI << "?rt=core.foo";
+
std::cout<<"Starting Client find:"<<std::endl;
FindCallback f (std::bind(&ClientWorker::foundResource, this, std::placeholders::_1));
-#ifdef CA_INT
- OCConnectivityType connectivityType = OC_WIFI;
std::cout<<"result:" <<
- OCPlatform::findResource("", "coap://224.0.1.187/oc/core?rt=core.foo", connectivityType, f)
+ OCPlatform::findResource("", requestURI.str(), CT_DEFAULT, f)
<< std::endl;
-#else
- std::cout<<"result:" <<
- OCPlatform::findResource("", "coap://224.0.1.187/oc/core?rt=core.foo", f)
- << std::endl;
-#endif
std::cout<<"Finding Resource..."<<std::endl;
std::mutex m_resourceLock;
std::condition_variable m_cv;
std::shared_ptr<OCResource> m_resource;
+ OCConnectivityType m_connectivityType;
+ bool m_isFoo;
+ int m_barCount;
};
struct FooResource
{
std::cout <<"\t\trequestFlag : UNSUPPORTED: ";
- if(request->getRequestHandlerFlag()==RequestHandlerFlag::InitFlag)
- {
- std::cout<<"InitFlag"<<std::endl;
- }
- else if(request->getRequestHandlerFlag()== RequestHandlerFlag::ObserverFlag)
+ if(request->getRequestHandlerFlag()== RequestHandlerFlag::ObserverFlag)
{
std::cout<<"ObserverFlag"<<std::endl;
}
};
-int main()
+int main(int argc, char* argv[])
{
+ OCConnectivityType connectivityType = CT_ADAPTER_IP;
+
+ if(argc == 2)
+ {
+ try
+ {
+ std::size_t inputValLen;
+ int optionSelected = std::stoi(argv[1], &inputValLen);
+
+ if(inputValLen == strlen(argv[1]))
+ {
+ if(optionSelected == 0)
+ {
+ connectivityType = CT_ADAPTER_IP;
+ }
+ else
+ {
+ std::cout << "Invalid connectivity type selected. Using default IP" << std::endl;
+ }
+ }
+ else
+ {
+ std::cout << "Invalid connectivity type selected. Using default IP" << std::endl;
+ }
+ }
+ catch(std::exception& )
+ {
+ std::cout << "Invalid input argument. Using IP as connectivity type" << std::endl;
+ }
+ }
+ else
+ {
+ std::cout<< "Usage simpleclientserver 0>" << std::endl;
+ std::cout<< " ConnectivityType: Default IP" << std::endl;
+ std::cout << " ConnectivityType : 0 - IP" << std::endl;
+ }
+
PlatformConfig cfg {
OC::ServiceType::InProc,
OC::ModeType::Both,
return -1;
}
- ClientWorker cw;
+ ClientWorker cw(connectivityType);
cw.start();
}
catch(OCException& e)
return 0;
}
+