void collectUniqueResource(const OCClientResponse * clientResponse) { OCResourcePayload* res = ((OCDiscoveryPayload*)clientResponse->payload)->resources; char sidStr[UUID_LENGTH]; while(res) { int ret = snprintf(sidStr, UUID_LENGTH, "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", res->sid[0], res->sid[1], res->sid[2], res->sid[3], res->sid[4], res->sid[5], res->sid[6], res->sid[7], res->sid[8], res->sid[9], res->sid[10], res->sid[11], res->sid[12], res->sid[13], res->sid[14], res->sid[15] ); if (ret == UUID_LENGTH - 1) { if(insertResource(sidStr, res->uri, clientResponse) == 1) { OC_LOG_V(INFO,TAG,"%s%s%s%s\n",sidStr, ":", res->uri, " is new"); printResourceList(); queryResource(); } else { OC_LOG_V(INFO,TAG,"%s%s%s%s\n",sidStr, ":", res->uri, " is old"); } } else { OC_LOG(ERROR, TAG, "Could Not Retrieve the Server ID"); } res = res->next; } }
void collectUniqueResource(const OCClientResponse * clientResponse) { char * sid = NULL; char ** uri = NULL; int totalRes = 0; if(parseJSON(clientResponse->resJSONPayload, & sid, & uri, &totalRes) != OC_STACK_OK) { OC_LOG(ERROR, TAG, "Error while parsing JSON payload in OCClientResponse"); OICFree(sid); OICFree(uri); return; } int i; for(i = 0; i < totalRes; i++) { if(insertResource(sid, uri[i], clientResponse) == 1) { printf("%s%s%s%s\n",sid, ":", uri[i], " is new"); printResourceList(); queryResource(); } else { printf("%s%s%s%s\n\n",sid, ":", uri[i], " has been seen before"); } } OICFree(sid); OICFree(uri); }
void collectUniqueResource(const OCClientResponse * clientResponse) { OCResourcePayload* res = ((OCDiscoveryPayload*)clientResponse->payload)->resources; // Including the NUL terminator, length of UUID string of the form: // "a62389f7-afde-00b6-cd3e-12b97d2fcf09" # define UUID_LENGTH 37 char sidStr[UUID_LENGTH]; while(res) { int ret = snprintf(sidStr, UUID_LENGTH, "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", res->sid[0], res->sid[1], res->sid[2], res->sid[3], res->sid[4], res->sid[5], res->sid[6], res->sid[7], res->sid[8], res->sid[9], res->sid[10], res->sid[11], res->sid[12], res->sid[13], res->sid[14], res->sid[15] ); if (ret == UUID_LENGTH - 1) { if(insertResource(sidStr, res->uri, clientResponse) == 1) { OC_LOG_V(INFO,TAG,"%s%s%s%s\n",sidStr, ":", res->uri, " is new"); printResourceList(); queryResource(); } else { OC_LOG_V(INFO,TAG,"%s%s%s%s\n",sidStr, ":", res->uri, " is old"); } } else { OC_LOG(ERROR, TAG, "Could Not Retrieve the Server ID"); } res = res->next; } }
void interpretCommandLineParameters(int argc, const char* argv[], int* stateCount, int* ntaxa, int* nsites, bool* manualScaling, bool* autoScaling, bool* dynamicScaling, int* rateCategoryCount, std::vector<int>* rsrc, int* nreps, bool* fullTiming, bool* requireDoublePrecision, bool* requireSSE, bool* requireAVX, int* compactTipCount, int* randomSeed, int* rescaleFrequency, bool* unrooted, bool* calcderivs, bool* logscalers, int* eigenCount, bool* eigencomplex, bool* ievectrans, bool* setmatrix, bool* opencl) { bool expecting_stateCount = false; bool expecting_ntaxa = false; bool expecting_nsites = false; bool expecting_rateCategoryCount = false; bool expecting_nreps = false; bool expecting_rsrc = false; bool expecting_compactTipCount = false; bool expecting_seed = false; bool expecting_rescaleFrequency = false; bool expecting_eigenCount = false; for (unsigned i = 1; i < argc; ++i) { std::string option = argv[i]; if (expecting_stateCount) { *stateCount = (unsigned)atoi(option.c_str()); expecting_stateCount = false; } else if (expecting_ntaxa) { *ntaxa = (unsigned)atoi(option.c_str()); expecting_ntaxa = false; } else if (expecting_nsites) { *nsites = (unsigned)atoi(option.c_str()); expecting_nsites = false; } else if (expecting_rateCategoryCount) { *rateCategoryCount = (unsigned)atoi(option.c_str()); expecting_rateCategoryCount = false; } else if (expecting_rsrc) { std::stringstream ss(option); int j; while (ss >> j) { rsrc->push_back(j); if (ss.peek() == ',') ss.ignore(); } expecting_rsrc = false; } else if (expecting_nreps) { *nreps = (unsigned)atoi(option.c_str()); expecting_nreps = false; } else if (expecting_compactTipCount) { *compactTipCount = (unsigned)atoi(option.c_str()); expecting_compactTipCount = false; } else if (expecting_seed) { *randomSeed = (unsigned)atoi(option.c_str()); expecting_seed = false; } else if (expecting_rescaleFrequency) { *rescaleFrequency = (unsigned)atoi(option.c_str()); expecting_rescaleFrequency = false; } else if (expecting_eigenCount) { *eigenCount = (unsigned)atoi(option.c_str()); expecting_eigenCount = false; } else if (option == "--help") { helpMessage(); } else if (option == "--resourcelist") { printResourceList(); } else if (option == "--manualscale") { *manualScaling = true; } else if (option == "--autoscale") { *autoScaling = true; } else if (option == "--dynamicscale") { *dynamicScaling = true; } else if (option == "--doubleprecision") { *requireDoublePrecision = true; } else if (option == "--states") { expecting_stateCount = true; } else if (option == "--taxa") { expecting_ntaxa = true; } else if (option == "--sites") { expecting_nsites = true; } else if (option == "--rates") { expecting_rateCategoryCount = true; } else if (option == "--rsrc") { expecting_rsrc = true; } else if (option == "--reps") { expecting_nreps = true; } else if (option == "--compact-tips") { expecting_compactTipCount = true; } else if (option == "--rescale-frequency") { expecting_rescaleFrequency = true; } else if (option == "--seed") { expecting_seed = true; } else if (option == "--full-timing") { *fullTiming = true; } else if (option == "--SSE") { *requireSSE = true; } else if (option == "--AVX") { *requireAVX = true; } else if (option == "--unrooted") { *unrooted = true; } else if (option == "--calcderivs") { *calcderivs = true; } else if (option == "--logscalers") { *logscalers = true; } else if (option == "--eigencount") { expecting_eigenCount = true; } else if (option == "--eigencomplex") { *eigencomplex = true; } else if (option == "--ievectrans") { *ievectrans = true; } else if (option == "--setmatrix") { *setmatrix = true; } else if (option == "--opencl") { *opencl = true; } else { std::string msg("Unknown command line parameter \""); msg.append(option); abort(msg.c_str()); } }