00001
00002
00003
00004
00005
00006
00007
00008 class Thread : public SystemCode {
00009 friend class SystemCode;
00010 friend class ThreadManager;
00011 friend class ExclusiveThread;
00012 friend class OpenSSL;
00013 friend class OpenSSLSession;
00014 _PROTECTED_:
00015 int ThreadStatus;
00016 int ThreadExitCode;
00017 int32 ThreadMainParam;
00018 String LastErrorMsg;
00019 #ifdef DF_LNX
00020 void *queue;
00021 void *cond;
00022 void *mutex;
00023 #endif
00024 public:
00025 uint32 __StartThread();
00026 uint32 ThreadID;
00027 uint32 ThreadHandle;
00028
00029 virtual BOOL Event(Element *id, int msg, int x, int y, int flgs);
00030 virtual BOOL Event(Network *id, int msg, int x, int y, int flgs);
00031 virtual BOOL Event(Thread *id, int msg, int x, int y, int flgs);
00032
00033 void SetLastErrorMsg(char *, ...);
00034 char *GetLastErrorMsg();
00035 void SetLastError(uint32);
00036 uint32 GetLastError();
00037
00038 virtual uint32 Main(int32);
00039
00040 #ifdef THREADMANAGER_VDTOR
00041 virtual ~Thread();
00042 #endif
00043 };