00001 00002 #ifndef OSCL_SOCKET_SEND_H_INCLUDED 00003 #define OSCL_SOCKET_SEND_H_INCLUDED 00004 00005 #include "oscl_socket_types.h" 00006 #include "oscl_socket_method.h" 00007 00011 class OsclSendRequest; 00012 00013 class OsclSendMethod : public OsclSocketMethod 00014 { 00015 public: 00016 static OsclSendMethod *NewL(OsclIPSocketI& c); 00017 00018 ~OsclSendMethod(); 00019 00020 TPVSocketEvent Send(const uint8* &aPtr, uint32 aLen, 00021 int32 aTimeout); 00022 00023 uint8 *GetSendData(int32 *aLength); 00024 00025 private: 00026 OsclSendMethod(OsclIPSocketI& c) 00027 : OsclSocketMethod(c, "osclsendmethod", EPVSocketSend) 00028 {}; 00029 00030 void ConstructL(); 00031 00032 public: 00033 OsclSendRequest *SendRequest() 00034 { 00035 return (OsclSendRequest*)iSocketRequestAO; 00036 } 00037 }; 00038 00042 class SendParam; 00043 class OsclSendRequest : public OsclSocketRequestAO 00044 { 00045 public: 00046 OsclSendRequest(OsclSocketMethod& c) 00047 : OsclSocketRequestAO(c, "osclSendRequest") 00048 {} 00049 00050 00051 void Send(const uint8* &aPtr, uint32 aLen); 00052 void Success(); 00053 uint8 *GetSendData(int32 *aLength); 00054 00055 private: 00056 00057 SendParam*Param() 00058 { 00059 return(SendParam*)iParam; 00060 } 00061 00062 }; 00063 00064 00065 00066 00067 #endif 00068