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

oscl_socket_recv.h

Go to the documentation of this file.
00001 
00002 #ifndef OSCL_SOCKET_RECV_H_INCLUDED
00003 #define OSCL_SOCKET_RECV_H_INCLUDED
00004 
00005 #include "oscl_socket_serv_imp.h"
00006 #include "oscl_socket_imp.h"
00007 #include "oscl_socket_method.h"
00008 
00009 
00013 class OsclRecvRequest;
00014 
00015 class OsclRecvMethod : public OsclSocketMethod
00016 {
00017     public:
00018         static OsclRecvMethod *NewL(OsclIPSocketI& c);
00019 
00020         ~OsclRecvMethod();
00021 
00022         TPVSocketEvent Recv(uint8* &aPtr, uint32 aMaxLen,
00023                             int32 aTimeout);
00024 
00025         uint8 *GetRecvData(int32 *aLength);
00026 
00027     private:
00028         OsclRecvMethod(OsclIPSocketI& c)
00029                 : OsclSocketMethod(c, "osclrecvmethod", EPVSocketRecv)
00030         {}
00031 
00032         void ConstructL();
00033 
00034     public:
00035         OsclRecvRequest *RecvRequest()
00036         {
00037             return (OsclRecvRequest*)iSocketRequestAO;
00038         }
00039 };
00040 
00044 class OsclRecvRequest : public OsclSocketRequestAO
00045 {
00046     public:
00047         uint8 *GetRecvData(int32 *aLength);
00048 
00049         OsclRecvRequest(OsclSocketMethod& c)
00050                 : OsclSocketRequestAO(c, "osclRecvRequest")
00051         {}
00052 
00053         void Recv(uint8* &aPtr, uint32 aMaxLen);
00054         void Success();
00055 
00056     private:
00057 
00058         RecvParam*Param()
00059         {
00060             return(RecvParam*)iParam;
00061         }
00062 
00063 };
00064 
00065 
00066 
00067 #endif
00068 

OSCL API
Posting Version: OPENCORE_20090310