📄 wmb_fwwebsample.c
字号:
/* %%BeginUserCode fwWebSample_ListenerProlog *//* %%EndUserCode fwWebSample_ListenerProlog */ if (pEmEvent->emEvent.payloadSize != sizeof(WMB_EVENT_T)) { logMsg("Received an unknown event\n",0,0,0,0,0,0); return; } switch (pEmEvent->wmbEvent.eventType) { case WMB_EVENT_TYPE_CONTROL: switch (pEmEvent->wmbEvent.eventID) { case WMB_BACKPLANE_CREATED_EVENT: logMsg("Backplane created event is received. Name: %s\n", (char*)pEmEvent->wmbEvent.eventInfo,0,0,0,0,0); break; case WMB_BACKPLANE_DELETED_EVENT: logMsg("Backplane deleted event is received. Name: %s\n", (char*)pEmEvent->wmbEvent.eventInfo,0,0,0,0,0); break; default: logMsg("Unknown control event is received\n",0,0,0,0,0,0); break; } break; case WMB_EVENT_TYPE_PORTFOLIO: switch (pEmEvent->wmbEvent.eventID) { case WMB_PORTFOLIO_CREATED_EVENT: logMsg("Portfolio registered event is received. Component: %x\n", pEmEvent->wmbEvent.eventInfo[0],0,0,0,0,0); break; case WMB_PORTFOLIO_DELETED_EVENT: logMsg("Portfolio unregistered event is received. Component: %x\n", pEmEvent->wmbEvent.eventInfo[0],0,0,0,0,0); break; default: logMsg("Unknown portfolio event is received\n",0,0,0,0,0,0); break; } break; default: logMsg("Unknown WMB event is received\n",0,0,0,0,0,0); break; } fwWebScreenComponent_WmwListener(pEmEvent); /* Pass along to the Web Listner *//* %%BeginUserCode fwWebSample_ListenerEpilog *//* %%EndUserCode fwWebSample_ListenerEpilog */ }#endif /* __WM_EVENT_MANAGER__ *//************************************************************************** * * WMB_COMPONENT_Start - main entry point into component * * RETURNS: OK * */WMB_CID_T fwWebScreenComponentComponent = NULL;STATUS WMB_COMPONENT_Start ( void ) { STATUS status = OK;/* %%BeginUserCode fwWebSample_InitProlog *//* %%EndUserCode fwWebSample_InitProlog *//* %%BeginUserCode fwWebSample_InitBody *//* %%EndUserCode fwWebSample_InitBody */ /* Startup a Wind River Management Backplane */ status = wmbStart ( WMB_NAME_K, /* Name for this backplane */ 100, /* max registered components */ 1000, /* max resource entries */ 10, /* max table entries */ NULL, /* dereg function */ NULL, /* dereg cookie */ &mAccessInfo /* access control struct */ ); if (OK != status) return status; /* Initialize this WMB Component */ status = wmbComponentRegister ( WMB_NAME_K, /* Name of the target backplane */ "fwWebScreenComponent", /* Name for this component */ WMB_COMPONENT_Stop, /* Deregister Handler */ NULL, /* Deregister Cookie */ &fwWebScreenComponentComponent /* Component Structure */ ); if (OK != status) return status; /* After WMB is started you must register with backplane */ status = wmbResourceRegister ( "fwWebScreenComponent", /* Component Name */ "", /* Component Path */ mEntryTbl, /* Resource Entry Array */ ARRAY_SIZE(mEntryTbl), /* Resource Entry Count */ NULL, /* Table Entry Array */ 0, /* Resource Entry Count */ NULL /* Default Resource Handler */ ); if (OK != status) return status;#ifdef __WM_EVENT_MANAGER__ /* Register with the Event Manager */ fwWebScreenComponent_RegisterEvents();#endif status = fwWebScreenComponent_Web_Start(fwWebScreenComponentComponent); /* httpd() */ if (OK != status) return status; /* %%BeginUserCode fwWebSample_InitEpilog */ /* %%EndUserCode fwWebSample_InitEpilog */ return OK; }/************************************************************************** * * WMB_COMPONENT_Stop - shutdown entry point for component * * RETURNS: OK * */STATUS WMB_COMPONENT_Stop ( void* deregCookie ) { STATUS status = OK; /* %%BeginUserCode fwWebSample_ShutdownProlog */ /* %%EndUserCode fwWebSample_ShutdownProlog */#ifdef NOT_YET status = fwWebScreenComponent_Web_Stop(); /* httpd() */ if (OK != status) return status;#endif#ifdef __WM_EVENT_MANAGER__ /* Un-Register with the Event Manager */ fwWebScreenComponent_UnregisterEvents();#endif if (fwWebScreenComponentComponent) wmbComponentDeregister ( fwWebScreenComponentComponent /* Component Id */ ); fwWebScreenComponentComponent = NULL; /* shutdown the Wind River Management system */ status = wmbStop ( WMB_NAME_K /* Backplane Id */ ); /* %%BeginUserCode fwWebSample_ShutdownEpilog */ /* %%EndUserCode fwWebSample_ShutdownEpilog */ return status; }/****************************************************************************** * Resource Handler Code * */ /**************************************************************************** fwWebSample: fwWebSampleScalarHandler - Displays Wind River Management system data.**/static STATUS fwWebSampleScalarHandler ( WMB_TID_T tid, /* wmb transaction pointer */ WMB_OBJ_T obj, /* wmb object pointer */ COMMAND_T command /* transaction type (e.g. GET,SET) */ ) { STATUS status = OK; STATUS error = 0; sbyte4 nSize = 0;/* %%BeginUserCode fwWebSampleScalar_HandlerProlog *//* %%EndUserCode fwWebSampleScalar_HandlerProlog */ /* loop through all objects in the group linked list */ while (wmbObjectGood(obj)) { status = OK; error = 0;/* %%BeginUserCode fwWebSampleScalar_HandlerInstance */ /* Preset common instance or context information *//* %%EndUserCode fwWebSampleScalar_HandlerInstance */ /* switch on the object's enumeration ID */ switch (wmbObjectLocalGet(obj)) { /* ================================================================= */ case WMID_IF : /* integer (DATATYPE_INTEGER_K) : none */ { /* %%BeginUserCode IF_Body */ /* Note: Locking is indicated as being handled by the user */ switch (command) { case CMD_GET_K: /* status = wmbObjectImport(obj,AddrOf_IF,4,DATATYPE_INTEGER_K); */ break; case CMD_NVMSET_K: /* status = wmbObjectExport(obj,AddrOf_IF,4,DATATYPE_INTEGER_K,&nSize); */ break; case CMD_GET_NEXT_K: /* Insert Instance Increment Code here */ /* status = wmbObjectImport(obj,AddrOf_IF,4,DATATYPE_INTEGER_K); */ /* Perform NEXT on instance */ break; case CMD_TEST_K: /* Insert validate test here */ if (OK != status) { wmbObjectStatusSet(obj,ERROR_GENERAL_OUT_OF_RANGE); return ERROR; } /* Attach undo information to transaction */ /* wmbObjectSavedSet(obj,AddrOf_IF,4,DATATYPE_INTEGER_K); */ break; case CMD_COMMIT_K: /* status = wmbObjectExport(obj,AddrOf_IF,4,DATATYPE_INTEGER_K,&nSize); */ break; case CMD_UNDO_K: /* Retrieve undo information from transaction */ /* wmbObjectSavedGet(obj,AddrOf_IF,4,DATATYPE_INTEGER_K); */ break; case CMD_COMPLETE_K: /* Retrieve undo information from transaction */ wmbObjectSavedFree(obj); break; default: wmbObjectStatusSet(obj,ERROR_TM_BAD_CMD); return ERROR; break; } /* %%EndUserCode IF_Body */ } break; /* ================================================================= */ case WMID_REPEAT : /* integer (DATATYPE_INTEGER_K) : none */ { /* %%BeginUserCode REPEAT_Body */ switch (command) { case CMD_GET_K: status = wmbObjectImport(obj,NULL,4,DATATYPE_INTEGER_K); break; case CMD_NVMSET_K: status = wmbObjectExport(obj,NULL,4,DATATYPE_INTEGER_K,&nSize); break; case CMD_GET_NEXT_K: /* Insert Instance Increment Code here */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -