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
00031
00032
00033
00034
00035 #ifndef _ID_OBJECT_H_
00036 #define _ID_OBJECT_H_
00037
00038 #include "../main/includes.h"
00039
00048 class IdObject {
00049
00051 jint profId;
00052
00054 int _active;
00055
00056 public:
00057
00059 enum eClassIdent {
00060
00061 ALLOC = 1,
00062 CPU = 2,
00063 MON = 4,
00064
00065 ALLOC_ARENA = ( 1 << 8),
00066 ALLOC_OBJECT = ( 2 << 8) | ALLOC,
00067 ALLOC_OBJECT_METHOD = ( 3 << 8) | ALLOC,
00068 ALLOC_OBJECT_TRACE = ( 4 << 8) | ALLOC,
00069 ALLOC_THREAD_METHOD = ( 5 << 8) | ALLOC,
00070 ALLOC_THREAD_OBJECT = ( 6 << 8) | ALLOC,
00071 ALLOC_THREAD_OBJECT_METHOD = ( 7 << 8) | ALLOC,
00072 ALLOC_THREAD_OBJECT_TRACE = ( 8 << 8) | ALLOC,
00073 ALLOC_THREAD_TRACE = ( 9 << 8) | ALLOC,
00074 ALLOC_TRACE = (10 << 8) | ALLOC,
00075 CPU_THREAD_METHOD = (11 << 8) | CPU,
00076 CPU_THREAD_TRACE = (12 << 8) | CPU,
00077 CPU_TRACE = (13 << 8) | CPU,
00078 GARBAGE_C = (14 << 8),
00079 CLASS = (15 << 8),
00080 CLASS_FIELD = (16 << 8),
00081 GROUP_THREAD = (17 << 8),
00082 METHOD = (18 << 8) | ALLOC | CPU | MON,
00083 THREAD = (19 << 8) | ALLOC,
00084 MON_THREAD_METHOD = (20 << 8) | MON,
00085 MON_THREAD_TRACE = (21 << 8) | MON,
00086 MON_TRACE = (22 << 8) | MON
00087 };
00088
00089 public:
00090
00095 IdObject();
00096
00098 virtual ~IdObject() {}
00099
00105 jint getProfID() { return profId;}
00106
00114 int isOfType( eClassIdent classIdent) {
00115
00116 return (getClassIdent() == classIdent);
00117 }
00118
00123 virtual eClassIdent getClassIdent() = 0;
00124
00131 virtual int isActive() { return 1;}
00132
00138 int activeChanged();
00139
00145 virtual int isChanged() { return activeChanged();}
00146
00149 virtual void setUnchanged() { _active = isActive();}
00150 };
00151
00152 #endif // _ID_OBJECT_H_