syntax = "proto3"; import "Definitions.proto"; package rips; service PdmObjectService { rpc GetDescendantPdmObjects(PdmDescendantObjectRequest) returns (PdmObjectArray) {} rpc GetChildPdmObjects(PdmChildObjectRequest) returns (PdmObjectArray) {} rpc GetAncestorPdmObject(PdmParentObjectRequest) returns (PdmObject) {} rpc CreateChildPdmObject(CreatePdmChildObjectRequest) returns (PdmObject) {} rpc UpdateExistingPdmObject(PdmObject) returns (Empty) {} rpc CallPdmObjectGetMethod(PdmObjectMethodRequest) returns (stream PdmObjectGetMethodReply) {} rpc CallPdmObjectSetMethod(stream PdmObjectSetMethodChunk) returns (ClientToServerStreamReply) {} } message PdmDescendantObjectRequest { PdmObject object = 1; string child_keyword = 2; } message PdmChildObjectRequest { PdmObject object = 1; string child_field = 2; } message CreatePdmChildObjectRequest { PdmObject object = 1; string child_field = 2; } message PdmParentObjectRequest { PdmObject object = 1; string parent_keyword = 2; } message PdmObject { string class_keyword = 1; uint64 address = 2; map parameters = 3; bool visible = 4; } message PdmObjectArray { repeated PdmObject objects = 1; } message PdmObjectMethodRequest { PdmObject object = 1; string method = 2; } message PdmObjectSetMethodRequest { PdmObjectMethodRequest request = 1; int32 data_count = 2; } message PdmObjectSetMethodChunk { oneof data { PdmObjectSetMethodRequest set_request = 1; DoubleArray doubles = 2; IntArray ints = 3; StringArray strings = 4; } } message DoubleArray { repeated double data = 1; } message IntArray { repeated int32 data = 1; } message StringArray { repeated string data = 1; } message PdmObjectGetMethodReply { oneof data { DoubleArray doubles = 1; IntArray ints = 2; StringArray strings = 3; } }