Satellite-Gateway
GatewayClientCleanup.h
Go to the documentation of this file.
1 
24 #ifndef GATEWAY_CLIENT_CLEANUP_H
25 #define GATEWAY_CLIENT_CLEANUP_H
26 
27 #include "ConfigFrame.h"
28 #include <memory>
29 
31 public:
33  GatewayClientCleanup l_GatewayClientCleanup;
34  return l_GatewayClientCleanup;
35  }
36 
37  static std::shared_ptr<GatewayClientCleanup> CreateDeserializedFrame() {
38  auto l_GatewayClientCleanup(std::shared_ptr<GatewayClientCleanup>(new GatewayClientCleanup));
39  l_GatewayClientCleanup->m_eDeserialize = DESERIALIZE_BODY;
40  l_GatewayClientCleanup->m_BytesRemaining = 1; // Next: consume the frame type byte
41  return l_GatewayClientCleanup;
42  }
43 
44 private:
45  // Private CTOR
46  GatewayClientCleanup(): m_eDeserialize(DESERIALIZE_FULL) {
47  }
48 
49  // Methods
50  E_CONFIG_FRAME GetConfigFrameType() const { return CONFIG_FRAME_GATEWAY_CLIENT_CLEANUP; }
51 
52  // Serializer
53  const std::vector<unsigned char> Serialize() const {
54  assert(m_eDeserialize == DESERIALIZE_FULL);
55  std::vector<unsigned char> l_Buffer;
56  l_Buffer.emplace_back(CONFIG_FRAME_GATEWAY_CLIENT_CLEANUP);
57  return l_Buffer;
58  }
59 
60  // Deserializer
61  bool Deserialize() {
62  // All requested bytes are available
63  switch (m_eDeserialize) {
64  case DESERIALIZE_BODY: {
65  // Deserialize the frame type byte
66  assert(m_Buffer.size() == 1);
68  m_eDeserialize = DESERIALIZE_FULL;
69  break;
70  }
71  case DESERIALIZE_ERROR:
72  case DESERIALIZE_FULL:
73  default:
74  assert(false);
75  } // switch
76 
77  // No error
78  return true;
79  }
80 
81  // Members
82  typedef enum {
83  DESERIALIZE_ERROR = 0,
84  DESERIALIZE_BODY = 1,
85  DESERIALIZE_FULL = 2
86  } E_DESERIALIZE;
87  E_DESERIALIZE m_eDeserialize;
88 };
89 
90 #endif // GATEWAY_CLIENT_CLEANUP_H
E_CONFIG_FRAME
Definition: ConfigFrame.h:29
static std::shared_ptr< GatewayClientCleanup > CreateDeserializedFrame()
std::vector< unsigned char > m_Buffer
The buffer containing partly received frames or higher-layer payload.
Definition: Frame.h:154
static GatewayClientCleanup Create()