00001 00002 #ifndef OSCL_SOCKET_BIND_H_INCLUDED 00003 #define OSCL_SOCKET_BIND_H_INCLUDED 00004 00005 #include "oscl_socket_types.h" 00006 #include "oscl_socket_serv_imp.h" 00007 #include "oscl_socket_imp.h" 00008 #include "oscl_socket_method.h" 00009 00013 class OsclBindRequest; 00014 00015 class OsclBindMethod : public OsclSocketMethod 00016 { 00017 public: 00018 static OsclBindMethod *NewL(OsclIPSocketI& c); 00019 00020 ~OsclBindMethod(); 00021 00022 TPVSocketEvent Bind(OsclNetworkAddress& aAddress, 00023 int32 aTimeout); 00024 00025 private: 00026 OsclBindMethod(OsclIPSocketI& c) 00027 : OsclSocketMethod(c, "osclbindmethod", EPVSocketBind) 00028 {} 00029 00030 void ConstructL(); 00031 00032 public: 00033 OsclBindRequest *BindRequest() 00034 { 00035 return (OsclBindRequest*)iSocketRequestAO; 00036 } 00037 }; 00038 00042 class OsclBindRequest : public OsclSocketRequestAO 00043 { 00044 public: 00045 OsclBindRequest(OsclSocketMethod& c) 00046 : OsclSocketRequestAO(c, "osclBindRequest") 00047 {} 00048 00049 void Bind(OsclNetworkAddress &aAddress); 00050 00051 private: 00052 00053 BindParam*Param() 00054 { 00055 return(BindParam*)iParam; 00056 } 00057 00058 }; 00059 00060 00061 #endif 00062 00063 00064