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

# 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