mirror of
https://github.com/open62541/open62541.git
synced 2025-06-03 04:00:21 +00:00
feat(examples): add second dog with optional fields in server_instantiation
This commit is contained in:
parent
9b1a70f0dc
commit
45fc8f7c66
@ -73,17 +73,44 @@ int main(void) {
|
||||
* (O) Objects
|
||||
* + O Bello <DogType>
|
||||
* + Age
|
||||
* + Name
|
||||
*/
|
||||
|
||||
UA_ObjectAttributes oAttr = UA_ObjectAttributes_default;
|
||||
oAttr.description = UA_LOCALIZEDTEXT("en-US", "A dog named Bello");
|
||||
oAttr.description = UA_LOCALIZEDTEXT("en-US", "A dog named Bello with only mandatory fields");
|
||||
oAttr.displayName = UA_LOCALIZEDTEXT("en-US", "Bello");
|
||||
UA_Server_addObjectNode(server, UA_NODEID_NUMERIC(1, 0),
|
||||
UA_NS0ID(OBJECTSFOLDER), UA_NS0ID(HASCOMPONENT),
|
||||
UA_QUALIFIEDNAME(1, "Bello"), UA_NODEID_NUMERIC(1, 10002),
|
||||
oAttr, NULL, NULL);
|
||||
|
||||
/* Instatiate a dog named doge:
|
||||
* (O) Objects
|
||||
* + O Bello <DogType>
|
||||
* + Age
|
||||
* + Name (optional)
|
||||
*/
|
||||
oAttr = UA_ObjectAttributes_default;
|
||||
oAttr.description = UA_LOCALIZEDTEXT("en-US", "A dog named Doge with optional fields");
|
||||
oAttr.displayName = UA_LOCALIZEDTEXT("en-US", "Doge");
|
||||
UA_NodeId dogeNodeId;
|
||||
UA_Server_addNode_begin(server, UA_NODECLASS_OBJECT, UA_NODEID_NUMERIC(1, 0),
|
||||
UA_NODEID_NUMERIC(0, UA_NS0ID_OBJECTSFOLDER),
|
||||
UA_NODEID_NUMERIC(0, UA_NS0ID_HASCOMPONENT),
|
||||
UA_QUALIFIEDNAME(1, "Doge"), UA_NODEID_NUMERIC(1, 10002),
|
||||
&oAttr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],
|
||||
NULL, &dogeNodeId);
|
||||
|
||||
vAttr = UA_VariableAttributes_default;
|
||||
vAttr.description = UA_LOCALIZEDTEXT("en-US", "This dogs Name");
|
||||
vAttr.displayName = UA_LOCALIZEDTEXT("en-US", "Name");
|
||||
UA_String dogeName = UA_STRING("Doge");
|
||||
UA_Variant_setScalar(&vAttr.value, &dogeName, &UA_TYPES[UA_TYPES_STRING]);
|
||||
UA_Server_addVariableNode(server, UA_NODEID_NUMERIC(1, 0),
|
||||
dogeNodeId, UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY),
|
||||
UA_QUALIFIEDNAME(1, "Name"), UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), vAttr, NULL, NULL);
|
||||
|
||||
UA_Server_addNode_finish(server, dogeNodeId);
|
||||
|
||||
retval = UA_Server_run(server, &running);
|
||||
|
||||
UA_Server_delete(server);
|
||||
|
Loading…
Reference in New Issue
Block a user