00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00042 #ifndef _COMMONCLMSG_
00043 #define _COMMONCLMSG_
00044
00045 #include <string.h>
00046 #include <scheduler.h>
00047
00053 #define MAX_MODULE_TAG 6
00054
00060 #define INVALID_DESTINATION -1
00061
00067 #define NO_MODULE -1
00068
00069
00074 #define CLBROADCASTADDR -1
00075
00076
00077
00082 #define CLPLUGINLAYERNUM 0
00083
00089 enum DestinationType{
00090 UNICAST,
00091 BROADCAST
00092 };
00098 enum ClDirection{
00099 TONODECORE,
00100 TOMODULE,
00101 UP,
00102 DOWN
00103 };
00109 typedef unsigned int ClMessage_t;
00110
00111
00112
00113
00128 class ClMessage : public Event{
00129 public:
00143 ClMessage(int verbosity, ClMessage_t type);
00144
00155 ClMessage(ClMessage *m);
00156
00157
00181 ClMessage(int verbosity, ClMessage_t type, DestinationType dtype, int value);
00182
00187 virtual ~ClMessage();
00188
00194 DestinationType getDestType();
00195
00203 int getDest();
00204
00210 int getSource();
00211
00217 void setSource(int src);
00218
00224 void setDest(int dst);
00225
00226
00235 virtual ClMessage *copy();
00236
00242 int verbosity();
00243
00250 ClMessage_t type();
00251
00261 ClDirection direction();
00262
00269 void direction(ClDirection dir);
00270
00277 unsigned int uid();
00278
00285 static ClMessage_t addClMessage();
00286
00287 protected:
00290 static ClMessage_t nType_;
00291
00294 ClMessage_t type_;
00295
00298 DestinationType destType_;
00299
00301 int source_;
00302
00304 int dest_;
00305
00307 int verbosity_;
00308
00310 ClDirection direction_;
00311
00313 unsigned int uid_;
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328 public:
00341 ClMessage(int verbosity, ClMessage_t type, DestinationType dtype, int source, int value);
00342
00343 };
00344
00345 #endif
00346