int oc_main_init(oc_handler_t *handler) { int ret; extern int oc_stack_errno; if (initialized == true) { return 0; } oc_ri_init(); #ifdef OC_SECURITY handler->get_credentials(); oc_sec_load_pstat(); oc_sec_load_doxm(); oc_sec_load_cred(); oc_sec_dtls_init_context(); #endif ret = oc_connectivity_init(); if (ret < 0) { goto err; } handler->init(); #ifdef OC_SERVER if (handler->register_resources) { handler->register_resources(); } #endif #ifdef OC_SECURITY oc_sec_create_svr(); oc_sec_load_acl(); #endif if (oc_stack_errno != 0) { ret = -oc_stack_errno; goto err; } OC_LOG_INFO("oci: Initialized\n"); #ifdef OC_CLIENT handler->requests_entry(); #endif initialized = true; return 0; err: oc_abort("oc_main: Error in stack initialization\n"); return ret; }
int oc_main_init(oc_handler_t *handler) { int ret; extern int oc_stack_errno; if (initialized == true) return 0; oc_ri_init(); #ifdef OC_SECURITY handler->get_credentials(); oc_sec_load_pstat(); oc_sec_load_doxm(); oc_sec_load_cred(); oc_sec_dtls_init_context(); #endif oc_network_event_handler_mutex_init(); ret = oc_connectivity_init(); if (ret < 0) goto err; handler->init(); #ifdef OC_SERVER handler->register_resources(); #endif #ifdef OC_SECURITY oc_sec_create_svr(); oc_sec_load_acl(); #endif if (oc_stack_errno != 0) { ret = -oc_stack_errno; goto err; } PRINT("oc_main: Stack successfully initialized\n"); #ifdef OC_CLIENT handler->requests_entry(); #endif initialized = true; return 0; err: oc_abort("oc_main: Error in stack initialization\n"); return ret; }