Main Page   Modules   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

oscl_socket_send.h

Go to the documentation of this file.
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 

OSCL API
Posting Version: OPENCORE_20090310