00001 // Copyright (c) 2014, Pepperl+Fuchs GmbH, Mannheim 00002 // Copyright (c) 2014, Denis Dillenberger 00003 // All rights reserved. 00004 // 00005 // Use, modification, and distribution is subject to the 00006 // 3-clause BSD license ("Revised BSD License", 00007 // "New BSD License", or "Modified BSD License") 00008 // You should have received a copy of this license 00009 // in a file named COPYING or LICENSE. 00010 00011 #ifndef PROTOCOL_INFO_H 00012 #define PROTOCOL_INFO_H 00013 #include <vector> 00014 00015 namespace pepperl_fuchs { 00016 00019 struct ProtocolInfo 00020 { 00022 std::string protocol_name; 00023 00025 int version_major; 00026 00028 int version_minor; 00029 00031 std::vector< std::string > commands; 00032 }; 00033 00036 struct HandleInfo 00037 { 00038 static const int HANDLE_TYPE_TCP = 0; 00039 static const int HANDLE_TYPE_UDP = 1; 00040 00044 int handle_type; 00045 00047 std::string hostname; 00048 00052 int port; 00053 00055 std::string handle; 00056 00058 char packet_type; 00059 00061 int start_angle; 00062 00064 bool watchdog_enabled; 00065 00067 int watchdog_timeout; 00068 }; 00069 } 00070 00071 #endif // PROTOCOL_INFO_H