CARMA C++
NetArrayTemplate.h
Go to the documentation of this file.
1 // $Id: NetArrayTemplate.h,v 1.1 2011/06/08 18:40:13 eml Exp $
2 
3 #ifndef SZA_UTIL_NETARRAYTEMPLATE_H
4 #define SZA_UTIL_NETARRAYTEMPLATE_H
5 
15 #include "carma/szautil/NetDat.h"
16 #include "carma/szautil/DataType.h"
17 
18 #include "carma/szaarrayutils/arraytemplate.h"
19 
20 namespace sza {
21 
22  namespace array {
23  class NetBuf;
24  }
25 
26  namespace util {
27 
28  class NetArrayTemplate : public NetDat {
29  public:
30 
34  NetArrayTemplate();
35  NetArrayTemplate(ArrayTemplate* arrayTemplate);
36 
40  virtual ~NetArrayTemplate();
41 
42  unsigned size();
43  void resize();
44  void serialize();
45  void deserialize(const unsigned char* bytes);
46  void deserialize(const std::vector<unsigned char>& bytes);
47  ArrayTemplate* getArrayTemplate();
48 
49  public:
50 
51  ArrayTemplate* arrayTemplate_;
52  bool external_;
53 
54  void setTo(ArrayTemplate* arrayTemplate);
55 
56  unsigned sizeOf(ArrayTemplate* arrayTemplate);
57  unsigned sizeOf(RegTemp& regTemp);
58  unsigned sizeOf(RegBoardTemp& boardTemp);
59  unsigned sizeOf(RegBlockTemp& blockTemp);
60 
61  void serialize(unsigned char*& destPtr, ArrayTemplate* arrayTemplate);
62  void serialize(unsigned char*& destPtr, RegTemp& regTemp);
63  void serialize(unsigned char*& destPtr, RegBoardTemp& boardTemp);
64  void serialize(unsigned char*& destPtr, RegBlockTemp& blockTemp);
65 
66  void deserialize(unsigned char*& srcPtr, ArrayTemplate* arrayTemplate);
67  void deserialize(unsigned char*& srcPtr, RegTemp& regTemp);
68  void deserialize(unsigned char*& srcPtr, RegBoardTemp& boardTemp);
69  void deserialize(unsigned char*& srcPtr, RegBlockTemp& blockTemp);
70 
71  void initialize(ArrayTemplate*& arrayTemplate);
72  void initialize(RegTemp*& regTemps, unsigned nRegTemp);
73  void initialize(RegBoardTemp*& boardTemps, unsigned nBoard);
74  void initialize(RegBlockTemp*& blockTemps, unsigned nBlock);
75 
76  void serialize(unsigned char*& destPtr, bool srcVal);
77  void serialize(unsigned char*& destPtr, bool* src, unsigned nEl);
78  void serialize(unsigned char*& destPtr, unsigned char srcVal);
79  void serialize(unsigned char*& destPtr, unsigned char* src, unsigned nEl);
80  void serialize(unsigned char*& destPtr, char srcVal);
81  void serialize(unsigned char*& destPtr, char* src, unsigned nEl);
82  void serialize(unsigned char*& destPtr, unsigned short srcVal);
83  void serialize(unsigned char*& destPtr, unsigned short* srcPtr, unsigned nEl);
84  void serialize(unsigned char*& destPtr, short srcVal);
85  void serialize(unsigned char*& destPtr, short* srcPtr, unsigned nEl);
86  void serialize(unsigned char*& destPtr, unsigned int srcVal);
87  void serialize(unsigned char*& destPtr, unsigned int* src, unsigned nEl);
88  void serialize(unsigned char*& destPtr, int srcVal);
89  void serialize(unsigned char*& destPtr, int* srcPtr, unsigned nEl);
90  void serialize(unsigned char*& destPtr, float srcVal);
91  void serialize(unsigned char*& destPtr, float* src, unsigned nEl);
92  void serialize(unsigned char*& destPtr, double srcVal);
93  void serialize(unsigned char*& destPtr, double* src, unsigned nEl);
94  void serialize(unsigned char*& destPtr, unsigned char* src, DataType::Type type, unsigned nEl);
95 
96  void deserialize(unsigned char*& srcPtr, bool& destVal);
97  void deserialize(unsigned char*& srcPtr, bool* dest, unsigned nEl);
98  void deserialize(unsigned char*& srcPtr, unsigned char& destVal);
99  void deserialize(unsigned char*& srcPtr, unsigned char* dest, unsigned nEl);
100  void deserialize(unsigned char*& srcPtr, char& destVal);
101  void deserialize(unsigned char*& srcPtr, char* dest, unsigned nEl);
102  void deserialize(unsigned char*& srcPtr, unsigned short& destVal);
103  void deserialize(unsigned char*& srcPtr, unsigned short* dest, unsigned nEl);
104  void deserialize(unsigned char*& srcPtr, short& destVal);
105  void deserialize(unsigned char*& srcPtr, short* dest, unsigned nEl);
106  void deserialize(unsigned char*& srcPtr, unsigned int& destVal);
107  void deserialize(unsigned char*& srcPtr, unsigned int* dest, unsigned nEl);
108  void deserialize(unsigned char*& srcPtr, int& destVal);
109  void deserialize(unsigned char*& srcPtr, int* dest, unsigned nEl);
110  void deserialize(unsigned char*& srcPtr, float& destVal);
111  void deserialize(unsigned char*& srcPtr, float* dest, unsigned nEl);
112  void deserialize(unsigned char*& srcPtr, double& destVal);
113  void deserialize(unsigned char*& srcPtr, double* dest, unsigned nEl);
114  void deserialize(unsigned char*& srcPtr, unsigned char* dest, DataType::Type type, unsigned nEl);
115 
116  }; // End class NetArrayTemplate
117 
118  } // End namespace util
119 } // End namespace sza
120 
121 
122 
123 #endif // End #ifndef SZA_UTIL_NETARRAYTEMPLATE_H
Tagged: Tue Jun 22 22:32:16 UTC 2004.
Tagged: Wed Jul 6 13:41:09 PDT 2005.
......................................................................
Definition: arraytemplate.h:27
......................................................................
Definition: arraytemplate.h:17