Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CP_NetProtoBase Class Reference

Base class for implementing various internet protocols, such as SMTP, FTP, POP3, etc.

Inheritance diagram for CP_NetProtoBase:

CP_Object CP_NoCopy CP_FTP CP_HTTP CP_POP3 CP_SMTP List of all members.

Public Member Functions

void SetID (FourCharCode inIdentifier)
FourCharCode GetID ()
void RegisterSignal (const CP_SignalHolder &inSignal)
CP_DataValueSignalFindSignal (const CP_String &inSignalName)
UInt32 GetNumberSignals ()
CP_String GetNthSignalName (UInt32 inSignalIndex)
void RegisterSlot (const CP_SlotHolder &inSlot)
CP_DataValueSlot FindSlot (const CP_String &inSlotName)
UInt32 GetNumberSlots ()
CP_String GetNthSlotName (UInt32 inSlotIndex)
template<class R, class P1, class P2>
CP_CommandHandlerSignalConnect (CPLAT::CP_CommandNo cmd, void(R::*handler)(P1, P2), SInt32 mode)
template<class R, class P1, class P2>
void Connect (CP_Object *control, const CPLAT::CP_String &signalName, void(R::*handler)(P1, P2))
Constructor / Destructor
 CP_NetProtoBase (CP_Socket *inSocketConnection)
 Constructor.
 ~CP_NetProtoBase ()
 Destructor.

Static Public Member Functions

static void Connect (CP_Object *sender, const CP_String &signalName, CP_Object *receiver, const CP_String &slotName, const bool reciprocal=false)
static void Connect (CP_Object *sender, CP_Object *receiver, const bool reciprocal=false, const CP_String &signalName=kCP_Signal_ValueChanged, const CP_String &slotName=kCP_Slot_SetValue)

Protected Attributes

CP_SocketfSocketConnection
CP_InternetResponsefLastServerResponse
CP_DataValueSignal fProgressSignal
CP_Signals_ArrayfSignals
CP_Slots_ArrayfSlots
FourCharCode fObjectID

Static Protected Attributes

static FourCharCode fObjectIDCount = 0

Constructor & Destructor Documentation

CPLAT_Begin_Namespace_CPLAT CP_NetProtoBase::CP_NetProtoBase CP_Socket inSocketConnection  ) 
 

Constructor.

Parameters:
inSocketConnection The socket connection to the underlying server.
Exceptions:
none 

CP_NetProtoBase::~CP_NetProtoBase  ) 
 

Destructor.

Exceptions:
none 


Member Function Documentation

virtual CP_InternetResponse* CP_NetProtoBase::GetServerResponse  )  [virtual]
 

Returns the last server response.

Exceptions:
none 
Returns:
CP_InternetResponse * The internet response for this protocol.

void CP_NetProtoBase::BroadcastProgress CP_InternetProtocolProgress inProtocolProgress  ) 
 

Broadcast our progress information to any objects that have added themselves as listeners to this object. This will send the signal kCP_Signal_InternetProgress which listeners should connect a slot to.

Parameters:
inProtocolProgress The internnet protocol progress object that contains the progress information. This is also the value of the data value holder for the signal being sent.
Exceptions:
none 
Returns:
void

SInt32 CP_NetProtoBase::ReadLine CP_Socket inSocket,
CP_String inOutResult
[protected]
 

Receive the next line from our server. We keep receiving until the end of line is reached.

Parameters:
inSocket The socket connection to the server. inOutResult Loction to return the result in.
Exceptions:
none 
Returns:
SInt32 A result code, either CP_noErr or CP_Err_ReceivingFromSocket.

bool CP_NetProtoBase::IsCommaDelimitedListOfSixOctets char *  p  )  [protected]
 

Return true if our passed in string is in the form of a 6 part address. (h1,h2,h3,h4,p1,p2)

Parameters:
p The string we are checking.
Exceptions:
none 
Returns:
bool True if the passed in string is in the form of a 6 part address.

void CP_NetProtoBase::SendCommand CP_String inCommand  )  [protected]
 

Sends a command to the server, but does not wait for a response.

Parameters:
inCommand The command to send.
Exceptions:
none 
Returns:
void

void CP_NetProtoBase::SendCommandWithReply CP_String inCommand  )  [protected]
 

Send the command, and wait for a response. The response will be placed in the CP_InternetResponse object associated with this object.

Parameters:
inCommand The command to send.
Exceptions:
none 
Returns:
void

void CP_NetProtoBase::SendData CP_String inData  )  [protected]
 

Send data to our socket connection. inData needs to be formatted correctly since we just send the bytes.

Parameters:
inData The data we are sending.
Exceptions:
none 
Returns:
void

void CP_NetProtoBase::SendData char *  inData,
UInt32  inDataLength
[protected]
 

Send data to our socket connection. inData needs to be formatted correctly since we just send the bytes.

Parameters:
inData The data we are sending.
inDataLength The length of the data being sent.
Exceptions:
none 
Returns:
void

void CP_Object::SetID FourCharCode  inIdentifier  )  [inherited]
 

Sets the identifier for this object. If a specific identifier is not set with this function, then a default id is used, which is simply a running count of the number of objects created.

Parameters:
inIdentifier The objects identifier.
Returns:
void

FourCharCode CP_Object::GetID  )  [inherited]
 

Returns the objects identifier.

Returns:
FourCharCode The identifier of this object.

void CP_Object::RegisterSignal const CP_SignalHolder inSignal  )  [inherited]
 

Registers the signal / signal name contained in the passed in inSignal object.

Parameters:
inSignal CP_SignalHolder that holds a signal and string identifier.
Returns:
void

CP_DataValueSignal * CP_Object::FindSignal const CP_String inSignalName  )  [inherited]
 

Finds the CP_DataValueSignal object that matches the passed in inSignalName.

Parameters:
inSignalName CP_String containing the identifier of the signal to return.
Returns:
CP_DataValueSignal * Returns a pointer to a CP_DataValueSignal object.

UInt32 CP_Object::GetNumberSignals  )  [inherited]
 

Returns the number of signals for this object.

Returns:
UInt32 The number of signals.

CP_String CP_Object::GetNthSignalName UInt32  inSignalIndex  )  [inherited]
 

Returns the signal name of the passed in signal index.

Parameters:
inSignalIndex Index of the name of the signal to return.
Returns:
CP_String The name of the nth signal being returned.

void CP_Object::RegisterSlot const CP_SlotHolder inSlot  )  [inherited]
 

Registers the slot / slot name contained in the passed in inSlot object.

Parameters:
inSlot CP_SignalHolder that holds a slot and string identifier.
Returns:
void

CP_DataValueSlot CP_Object::FindSlot const CP_String inSlotName  )  [inherited]
 

Finds the CP_Slot1 object that matches the passed in inSlotName.

Parameters:
inSlotName CP_String containing the identifier of the slot to return.
Returns:
CP_DataValueSlot Returns a pointer to a CP_DataValueSlot object.

UInt32 CP_Object::GetNumberSlots  )  [inherited]
 

Returns the number of slots for this object.

Returns:
UInt32 The number of slots.

CP_String CP_Object::GetNthSlotName UInt32  inSlotIndex  )  [inherited]
 

Returns the slot name of the passed in signal index.

Parameters:
inSlotIndex Index of the name of the slot to return.
Returns:
CP_String The name of the nth slot being returned.

template<class R, class P1, class P2>
CP_CommandHandlerSignal* CP_Object::Connect CPLAT::CP_CommandNo  cmd,
void(R::*)(P1, P2)  handler,
SInt32  mode
[inherited]
 

template<class R, class P1, class P2>
void CP_Object::Connect CP_Object control,
const CPLAT::CP_String &  signalName,
void(R::*)(P1, P2)  handler
[inherited]
 

void CP_Object::Connect CP_Object sender,
const CP_String signalName,
CP_Object receiver,
const CP_String slotName,
const bool  reciprocal = false
[static, inherited]
 

void CP_Object::Connect CP_Object sender,
CP_Object receiver,
const bool  reciprocal = false,
const CP_String signalName = kCP_Signal_ValueChanged,
const CP_String slotName = kCP_Slot_SetValue
[static, inherited]
 


Member Data Documentation

CP_Socket* CP_NetProtoBase::fSocketConnection [protected]
 

CP_InternetResponse* CP_NetProtoBase::fLastServerResponse [protected]
 

The CP_Socket object that communicates between CPLAT and the server.

CP_DataValueSignal CP_NetProtoBase::fProgressSignal [protected]
 

This object contains the last response for the server, each different protocol class will implement its own response class to handle server responses.

CP_Signals_Array* CP_Object::fSignals [protected, inherited]
 

CP_Slots_Array* CP_Object::fSlots [protected, inherited]
 

List of registered signals for this object.

FourCharCode CP_Object::fObjectID [protected, inherited]
 

List of registered slots for this object.

CPLAT_Begin_Namespace_CPLAT FourCharCode CP_Object::fObjectIDCount = 0 [static, protected, inherited]
 

Object identifier.


The documentation for this class was generated from the following files:
Generated on Sat Sep 17 20:01:54 2005 for CPLAT by  doxygen 1.4.0