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

# 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