X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FNetwork%2Fgeneric.hxx;h=6df4681935808896c219f7c22e0d01bd685800d6;hb=e653ed4598dfcfea634470d16b49b97fc87e1840;hp=1d07b1265efefa034699a14767ab62e34208e060;hpb=0d0bd58268e219658252984019e5fb6b1aeac598;p=flightgear.git diff --git a/src/Network/generic.hxx b/src/Network/generic.hxx index 1d07b1265..6df468193 100644 --- a/src/Network/generic.hxx +++ b/src/Network/generic.hxx @@ -38,7 +38,7 @@ class FGGeneric : public FGProtocol { public: - FGGeneric(string&); + FGGeneric(vector); ~FGGeneric(); bool gen_message(); @@ -47,6 +47,8 @@ public: // open hailing frequencies bool open(); + void reinit(); + // process work for this port bool process(); @@ -57,7 +59,7 @@ public: bool getExitOnError() { return exitOnError; } protected: - enum e_type { FG_BOOL=0, FG_INT, FG_DOUBLE, FG_STRING }; + enum e_type { FG_BOOL=0, FG_INT, FG_FLOAT, FG_DOUBLE, FG_STRING, FG_FIXED }; typedef struct { // string name; @@ -70,6 +72,9 @@ protected: private: + string file_name; + string direction; + int length; char buf[ FG_MAX_MSG_SIZE ]; @@ -85,7 +90,13 @@ private: bool binary_mode; enum {FOOTER_NONE, FOOTER_LENGTH, FOOTER_MAGIC} binary_footer_type; int binary_footer_value; + int binary_record_length; + enum {BYTE_ORDER_NEEDS_CONVERSION, BYTE_ORDER_MATCHES_NETWORK_ORDER} binary_byte_order; + bool gen_message_ascii(); + bool gen_message_binary(); + bool parse_message_ascii(); + bool parse_message_binary(); void read_config(SGPropertyNode *root, vector<_serial_prot> &msg); bool exitOnError; };