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 #include "Message.h"
00030 #include <iostream.h>
00031
00032 Message::Message()
00033 :length(0),data(0)
00034 {
00035 ;
00036 }
00037
00038 Message::Message(double *Ptr, int size)
00039 {
00040 length = size*sizeof(double);
00041 data = (char *)Ptr;
00042 }
00043
00044 Message::Message(int *Ptr, int size)
00045 {
00046 length = size*sizeof(int);
00047 data = (char *)Ptr;
00048 }
00049
00050 Message::Message(char *Ptr, int size)
00051 {
00052 length = size*sizeof(char);
00053 data = Ptr;
00054 }
00055
00056 Message::~Message()
00057 {
00058
00059 }
00060
00061 extern "C" void bcopy(const char *scource, char *dest, int length);
00062
00063 int
00064 Message::putData(char *theData, int startLoc, int endLoc)
00065 {
00066 if (startLoc > 0 && startLoc <= length &&
00067 endLoc <= length && endLoc > startLoc) {
00068 int theLength = endLoc - startLoc;
00069 char *dataPos = &data[startLoc];
00070 bcopy(theData, dataPos, theLength);
00071 return 0;
00072 } else {
00073 cerr << "Message::putData() - invalid length of data given\n";
00074 return -1;
00075 }
00076 }
00077
00078 const char *
00079 Message::getData(void)
00080 {
00081 return data;
00082 }
00083
00084 int
00085 Message::getSize()
00086 {
00087 return length;
00088 }
00089
00090