00001 #ifndef __IGC_DISCONNECT_REASON_H__
00002 #define __IGC_DISCONNECT_REASON_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <IGC/IGCminimumInclude.h>
00024
00025 #ifndef __IGC_DISCONNECT_REASON_HANDLE_H__
00026 #define __IGC_DISCONNECT_REASON_HANDLE_H__
00027 typedef void* IGCdisconnectReasonHandle;
00028 #endif
00029
00030
00052 class IGCdisconnectReason
00053 {
00054 public:
00056 IGCdisconnectReason();
00057 IGCdisconnectReason(const IGCdisconnectReason& Orig);
00058 IGCdisconnectReason(IGCdisconnectReasonHandle Handle);
00059
00061 virtual ~IGCdisconnectReason();
00062
00064 IGCdisconnectReason& operator=(const IGCdisconnectReason& Orig);
00065
00067 IGCdisconnectReasonHandle GetHandle() const { return Handle; }
00068
00069
00076 IGCboolean DueToIguana() const;
00077
00078
00086 IGCboolean DueToPlugin() const;
00087
00088
00097 IGCboolean DueToError() const;
00098
00099
00104 const char* Description() const;
00105
00106
00107 private:
00108 IGCdisconnectReasonHandle Handle;
00109 };
00110
00111 #endif // end of defensive include