home *** CD-ROM | disk | FTP | other *** search
/ ftp.umcs.maine.edu / 2015-02-07.ftp.umcs.maine.edu.tar / ftp.umcs.maine.edu / pub / thesis / zhongy / rule / object.h < prev    next >
C/C++ Source or Header  |  1994-12-14  |  3KB  |  108 lines

  1. #ifndef OBJECT_H
  2. #define OBJECT_H
  3.  
  4.  
  5.  
  6. #include <sys/time.h> 
  7.  
  8. #define MaxCharactersObjectValue 50
  9. #define MaxCharactersObjectName 50
  10. #define MaxHostName 50
  11. #define MaxCharactersRuleName 50
  12. #define Nlines 18
  13. #define True 1
  14. #define False 0
  15.  
  16. #define MIB_VALUE 0
  17. #define MIB_VARIANCE 1
  18. #define PROBLEM 2
  19. #define EVENT 3
  20.  
  21. typedef char RuleNameType[MaxCharactersRuleName];
  22. typedef char ObjectValueType[MaxCharactersObjectValue];
  23. typedef char ObjectNameType[MaxCharactersObjectName];
  24.  
  25.  
  26. class ObjectType{
  27.         private:
  28.           int IN_type; /*MIB_VALUE, MIB_VARIANCE, PROBLEM, EVENT*/
  29.           char IN_Name[MaxCharactersObjectName];
  30.           int IN_Known;
  31.           ObjectType *IN_Next;
  32.  
  33.           /*object value*/
  34.           union {
  35.  
  36.             struct{
  37.               int pre_value;         /*the value of last record*/
  38.               int diff;              /*the difference of last two record*/
  39.                             /*if object type is MIB_object, diff is its
  40.                                            current value*/
  41.               struct timeval time_left; /*the time left we should poll again*/
  42.               struct timeval time_interval; /*the time interval we define for 
  43.                                      this object*/
  44.               char obj_name[MaxCharactersObjectName]; /*object name of this 
  45.                                       object */ 
  46.               char hostname[MaxHostName];    /*domain name or dot format name
  47.                                               of the host */
  48.               } VAR_VALUE;
  49.             
  50.              char Prob_Value[MaxCharactersObjectValue];  /*true or False*/
  51.           
  52.              char Event_Value[MaxCharactersObjectValue]; /*true or false*/
  53.  
  54.              } IN_Value;
  55.  
  56.         public:
  57.            void set_Name(char *Obj_Name);
  58.            void set_Value(char *Obj_Value);
  59.            void set_Known(int Know);
  60.            void set_Next(ObjectType *Next);
  61.            void set_Type(int t);
  62.            void set_prevalue(int pre);
  63.            void set_diff(int dif);
  64.            void set_timeleft(struct timeval t);
  65.            void set_timeinterval(struct timeval t);
  66.            void set_objname(char *objname);
  67.            void set_hostname(char *host);
  68.  
  69. /****get member function****************************************************/
  70.  
  71.            char *Name();
  72.            char *Value();
  73.            int Known();
  74.            ObjectType *Next();
  75.            int Type();
  76.            int Pre_Value();
  77.            int Diff();
  78.            struct timeval Time_Left();
  79.            struct timeval Time_Interval();
  80.            char *Obj_Name();
  81.            char *Hostname();
  82.         };
  83.  
  84. ObjectType  *FirstObject;
  85.  
  86.  
  87.  
  88. /*
  89. class ObjectType{
  90.         private:
  91.            ObjectNameType IN_Name;
  92.            ObjectValueType IN_Value;
  93.            int IN_Known;
  94.            ObjectType *IN_Next;
  95.         public:
  96.            void set_Name(char *Obj_Name);
  97.            void set_Value(char *Obj_Value);
  98.            void set_Known(int Know);
  99.            void set_Next(ObjectType *Next);
  100.            char *Name();
  101.            char *Value();
  102.            int Known();
  103.            ObjectType *Next();
  104.         };
  105. */
  106.  
  107. #endif
  108.