Note: Goby version 1 (shown here) is now considered obsolete. Please use version 2 for new projects, and consider upgrading old projects.

Goby Underwater Autonomy Project  Series: 1.1, revision: 163, released on 2013-02-06 14:23:27 -0500
protobuf/interprocess_notification.proto
00001 import "google/protobuf/descriptor.proto";
00002 
00003 package goby.core.proto;
00004 
00005 // used to filter messages on their contents
00006 // instead of just type
00007 message Filter
00008 {
00009   required string key = 1;
00010   enum Operation
00011   {
00012     EQUAL = 1;     // key == value
00013     NOT_EQUAL = 2; // key != value
00014   }
00015   required Operation operation = 2;
00016   required string value = 3;
00017 }
00018 
00019 // encoded message payload
00020 // can carry any protobuf message
00021 message EmbeddedMessage
00022 {
00023   // encoded google protobuf message
00024   // optional if request is for subscription
00025   optional bytes body = 1;
00026   // type [Descriptor::full_name()]
00027   required string type = 2;
00028   // only required if desired for initial subscription
00029   optional Filter filter = 3;
00030 }
00031 
00032 message Notification
00033 {
00034   enum NotificationType
00035   { 
00036     HEARTBEAT = 1; 
00037     CONNECT_REQUEST = 2;
00038     DISCONNECT_REQUEST = 3;
00039     CONNECTION_ACCEPTED = 4;
00040     CONNECTION_DENIED = 5;
00041     PUBLISH_REQUEST = 6;
00042     SUBSCRIBE_REQUEST = 7;
00043   }
00044   required NotificationType notification_type = 1;
00045 
00046   // required for connection only
00047   optional string application_name = 2;
00048 
00049   // used to inform gobyd of the google protobuf type used for a 
00050   // given publish or subscribe request
00051   repeated .google.protobuf.FileDescriptorProto file_descriptor_proto = 3;
00052 
00053   // information about the payload
00054   optional EmbeddedMessage embedded_msg = 4;
00055 
00056   // human readable explanation of this message (usually
00057   // used to report error reasoning)
00058   optional string explanation = 5;
00059 }
00060 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends