00001 00002 #ifndef OSCL_SOCKET_SHUTDOWN_H_INCLUDED 00003 #define OSCL_SOCKET_SHUTDOWN_H_INCLUDED 00004 00005 #include "oscl_socket_types.h" 00006 #include "oscl_socket_method.h" 00007 00011 class OsclShutdownRequest; 00012 00013 class OsclShutdownMethod : public OsclSocketMethod 00014 { 00015 public: 00016 static OsclShutdownMethod *NewL(OsclIPSocketI& c); 00017 00018 ~OsclShutdownMethod(); 00019 00020 TPVSocketEvent Shutdown(TPVSocketShutdown aHow, 00021 int32 aTimeout); 00022 00023 private: 00024 OsclShutdownMethod(OsclIPSocketI& c) 00025 : OsclSocketMethod(c, "osclshutdownmethod", EPVSocketShutdown) 00026 {} 00027 00028 void ConstructL(); 00029 00030 public: 00031 OsclShutdownRequest *ShutdownRequest() 00032 { 00033 return (OsclShutdownRequest*)iSocketRequestAO; 00034 } 00035 }; 00036 00040 class OsclShutdownRequest : public OsclSocketRequestAO 00041 { 00042 public: 00043 OsclShutdownRequest(OsclSocketMethod& c) 00044 : OsclSocketRequestAO(c, "osclShutdownRequest") 00045 {} 00046 00047 void Shutdown(TPVSocketShutdown aHow); 00048 00049 private: 00050 ShutdownParam*Param() 00051 { 00052 return (ShutdownParam*)iParam; 00053 } 00054 }; 00055 00056 #endif 00057