str.h

00001 /***************************************************************************
00002  *   Copyright (C) 2007 by valter   *
00003  *   staroverovv@yandx.ru   *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 #ifndef __STR_H__
00021 #define __STR_H__
00022 //==========================================================================
00023 #include <time.h>
00024 #include <string.h>
00025 #include <stdlib.h>
00026 //==========================================================================
00027 class CMessageEventParam
00028 {public:
00029  //--
00030  CMessageEventParam(){memset(this,0,sizeof(*this));}
00031  ~CMessageEventParam(){clean();}
00032  //--
00033  void clean();
00034  CMessageEventParam &operator=(const CMessageEventParam &b);
00035  void AllocateStrings(){delete Name;Name=NULL; if(LName>0)Name=new char[LName+1]; delete Val;Val=NULL; if(LVal>0)Val=new char[LVal+1];}
00036  QString toString();//{QString s="";if(Val){if(Type==1)s.sprintf("%d",*(int*)Val);}return s;}
00037  //--
00038  int Type;//text: 1)int; 2)double; 3)text
00039  char *Name;int LName;//0-terminated
00040  char *Val; int LVal;
00041  //--
00042 };
00043 //==========================================================================
00044 class CMessageEvent
00045 {public:
00046  //---
00047  CMessageEvent(){memset(this,0,sizeof(*this));}
00048  ~CMessageEvent(){clean();}
00049 //---
00050  void clean();
00051  CMessageEvent &operator=(const CMessageEvent &b);
00052  void AllocateStrings();
00053  void AllocateParameters(){int i; if(par)for(i=0;i<ParNum;i++)par[i].AllocateStrings();}
00054  QString AllParameters();
00055 //---
00056  int MessageType;
00057  char *SensorID; int LSensorID;
00058  int MessageID;//internal value for DB; is defined when record is created
00059  int SensorType;
00060  char *EventName; int LEventName;
00061  time_t EventTime;
00062  int ParNum;
00063  CMessageEventParam *par;
00064 //---
00065 };
00066 //==========================================================================
00067 class CMessageEventRequest
00068 {public:
00069 //--
00070  CMessageEventRequest(){memset(this,0,sizeof(*this));}
00071  ~CMessageEventRequest(){clean();}
00072 //--
00073  void clean();
00074  CMessageEventRequest &operator=(const CMessageEventRequest &b);
00075  int operator&(CMessageEvent &ev);
00076 //--
00077  int NMax;int TakeFirst1_Last0;
00078  int MessageID0,MessageID1; int UseMessageID0,UseMessageID1;
00079  int MessageType; int UseMessageType;
00080  char *SensorID; int LSensorID; int UseSensorID;
00081  int SensorType; int UseSensorType; 
00082  char *EventName; int LEventName; int UseEventName;
00083  time_t EventTime0; int UseEventTime0;
00084  time_t EventTime1; int UseEventTime1;
00085 //--
00086 };
00087 //==========================================================================
00088 class CMessageKeepAlive
00089 {public:
00090 //--
00091  CMessageKeepAlive(){memset(this,0,sizeof(*this));}
00092  CMessageKeepAlive &operator=(const CMessageKeepAlive &b);
00093 ~CMessageKeepAlive(){clean();}
00094 //--
00095  void clean();
00096 //--
00097  int MessageType;
00098  char *SensorID; int LSensorID;
00099  int SensorType; 
00100  time_t EventTime;
00101 //-
00102 };
00103 //==========================================================================
00104 class CMessageCommand
00105 {public:
00106 //---
00107  CMessageCommand(){memset(this,0,sizeof(*this));}
00108  ~CMessageCommand(){clean();}
00109 //---
00110  void clean();
00111  CMessageCommand &operator=(const CMessageCommand &b);
00112  void AllocateStrings();
00113  void AllocateParameters();
00114  QString AllParameters();
00115  void Set(int MessageType,char *SensorID,int CommandType);
00116 //---
00117  int MessageType;//1=std
00118  char *SensorID; int LSensorID;
00119  int CommandID;//internal value for DB; is defined when record is created
00120  int CommandType;//1)start; 2)stop; 3)restart; 4)kill
00121  time_t CommandTime;
00122  int ParNum;
00123  CMessageEventParam *par;
00124 //---
00125 };
00126 //==========================================================================
00127 class CMessageCommandRequest
00128 {public:
00129 //--
00130  CMessageCommandRequest(){memset(this,0,sizeof(*this));}
00131  ~CMessageCommandRequest(){clean();}
00132 //--
00133  void clean();
00134  CMessageCommandRequest &operator=(const CMessageCommandRequest &b);
00135  int operator&(CMessageCommand &ev);
00136 //--
00137  int NMax;int TakeFirst1_Last0;
00138  int MessageType; int UseMessageType;
00139  char *SensorID; int LSensorID; int UseSensorID;
00140  int CommandID0,CommandID1; int UseCommandID0,UseCommandID1; 
00141  int CommandType; int UseCommandType; 
00142  time_t CommandTime0; int UseCommandTime0;
00143  time_t CommandTime1; int UseCommandTime1;
00144 //--
00145 };
00146 //==========================================================================
00147 class CSensor
00148 {public:
00149 //--
00150  CSensor(){memset(this,0,sizeof(*this));}
00151  ~CSensor(){clean();}
00152 //---
00153  void clean();
00154  CSensor &operator=(const CSensor &b);
00155  void AllocateStrings();
00156 //--
00157  int SensorType;
00158  char *SensorID; int LSensorID;
00159  char *Description; int LDescription;
00160 //-- for KEEPALIVE:
00161  int MessageType;//1)IsAlive; 2)IsDead
00162  time_t EventTime;
00163  int Status;//bits: 1=Alive/Not alive
00164 //--
00165 };
00166 //==========================================================================
00167 int InitData();
00168 void CopyPtr(char **to, int *lto, char *from,int lfrom);
00169 int LoadDLL(QString DLLWD);
00170 //{to=NULL;*lto=0; if(lfrom>0){*lto=lfrom; to=new char[lfrom]; mecmpy(to,from,lfrom);}}
00171 //inline int FileExists(const char*sf){FILE *f=fopen(sf,"r"); if(f){fclose(f);return 1;} return 0;}
00172 //==========================================================================
00173 #endif

Generated on Thu Nov 15 16:34:53 2007 for wgr.kdevelop by  doxygen 1.4.7