Public Member Functions |
| PFTPServer () |
| declare a server socket
|
| PFTPServer (const PString &readyString) |
| ~PFTPServer () |
| Delete the server, cleaning up passive sockets.
|
virtual PString | GetHelloString (const PString &user) const |
| Get the string printed when a user logs in default value is a string giving the user name.
|
virtual PString | GetGoodbyeString (const PString &user) const |
| return the string printed just before exiting
|
virtual PString | GetSystemTypeString () const |
| return the string to be returned by the SYST command
|
PBoolean | GetAllowThirdPartyPort () const |
| return the thirdPartyPort flag, allowing 3 host put and get.
|
void | SetAllowThirdPartyPort (PBoolean state) |
| Set the thirdPartyPort flag.
|
PBoolean | ProcessCommand () |
| Process commands, dispatching to the appropriate virtual function.
|
virtual PBoolean | DispatchCommand (PINDEX code, const PString &args) |
| Dispatching to the appropriate virtual function.
|
virtual PBoolean | CheckLoginRequired (PINDEX cmd) |
| Check to see if the command requires the server to be logged in before it may be processed.
|
virtual PBoolean | AuthoriseUser (const PString &user, const PString &password, PBoolean &replied) |
| Validate the user name and password for access.
|
virtual PBoolean | OnUnknown (const PCaselessString &command) |
| Handle an unknown command.
|
virtual void | OnError (PINDEX errorCode, PINDEX cmdNum, const char *msg) |
| Handle an error in command.
|
virtual void | OnSyntaxError (PINDEX cmdNum) |
| Called for syntax errors in commands.
|
virtual void | OnNotImplemented (PINDEX cmdNum) |
| Called for unimplemented commands.
|
virtual void | OnCommandSuccessful (PINDEX cmdNum) |
| Called for successful commands.
|
virtual PBoolean | OnUSER (const PCaselessString &args) |
virtual PBoolean | OnPASS (const PCaselessString &args) |
virtual PBoolean | OnQUIT (const PCaselessString &args) |
virtual PBoolean | OnPORT (const PCaselessString &args) |
virtual PBoolean | OnSTRU (const PCaselessString &args) |
virtual PBoolean | OnMODE (const PCaselessString &args) |
virtual PBoolean | OnTYPE (const PCaselessString &args) |
virtual PBoolean | OnNOOP (const PCaselessString &args) |
virtual PBoolean | OnSYST (const PCaselessString &args) |
virtual PBoolean | OnSTAT (const PCaselessString &args) |
virtual PBoolean | OnRETR (const PCaselessString &args) |
virtual PBoolean | OnSTOR (const PCaselessString &args) |
virtual PBoolean | OnACCT (const PCaselessString &args) |
virtual PBoolean | OnAPPE (const PCaselessString &args) |
virtual PBoolean | OnRNFR (const PCaselessString &args) |
virtual PBoolean | OnRNTO (const PCaselessString &args) |
virtual PBoolean | OnDELE (const PCaselessString &args) |
virtual PBoolean | OnCWD (const PCaselessString &args) |
virtual PBoolean | OnCDUP (const PCaselessString &args) |
virtual PBoolean | OnRMD (const PCaselessString &args) |
virtual PBoolean | OnMKD (const PCaselessString &args) |
virtual PBoolean | OnPWD (const PCaselessString &args) |
virtual PBoolean | OnLIST (const PCaselessString &args) |
virtual PBoolean | OnNLST (const PCaselessString &args) |
virtual PBoolean | OnPASV (const PCaselessString &args) |
virtual PBoolean | OnHELP (const PCaselessString &args) |
virtual PBoolean | OnSITE (const PCaselessString &args) |
virtual PBoolean | OnABOR (const PCaselessString &args) |
virtual PBoolean | OnSMNT (const PCaselessString &args) |
virtual PBoolean | OnREIN (const PCaselessString &args) |
virtual PBoolean | OnSTOU (const PCaselessString &args) |
virtual PBoolean | OnALLO (const PCaselessString &args) |
virtual PBoolean | OnREST (const PCaselessString &args) |
void | SendToClient (const PFilePath &filename) |
| Send the specified file to the client.
|
PBoolean | SendPORT (const PIPSocket::Address &addr, WORD port) |
| Send the PORT command for a transfer.
|
virtual PBoolean | Read (void *buf, PINDEX len) |
| Low level read from the channel.
|
virtual PBoolean | Write (const void *buf, PINDEX len) |
| Low level write to the channel.
|
void | SetReadLineTimeout (const PTimeInterval &t) |
| Set the maximum timeout between characters within a line.
|
virtual PBoolean | Connect (const PString &address, WORD port=0) |
| Connect a socket to a remote host for the internet protocol.
|
virtual PBoolean | Connect (const PString &address, const PString &service) |
virtual PBoolean | Accept (PSocket &listener) |
| Accept a server socket to a remote host for the internet protocol.
|
const PString & | GetDefaultService () const |
| Get the default service name or port number to use in socket connections.
|
PIPSocket * | GetSocket () const |
| Get the eventual socket for the series of indirect channels that may be between the current protocol and the actual I/O channel.
|
virtual PBoolean | WriteLine (const PString &line) |
| Write a string to the socket channel followed by a CR/LF pair.
|
virtual PBoolean | ReadLine (PString &line, PBoolean allowContinuation=false) |
| Read a string from the socket channel up to a CR/LF pair.
|
virtual void | UnRead (int ch) |
| Put back the characters into the data stream so that the next Read() function call will return them first.
|
virtual void | UnRead (const PString &str) |
virtual void | UnRead (const void *buffer, PINDEX len) |
virtual PBoolean | WriteCommand (PINDEX cmdNumber) |
| Write a single line for a command.
|
virtual PBoolean | WriteCommand (PINDEX cmdNumber, const PString ¶m) |
virtual PBoolean | ReadCommand (PINDEX &num, PString &args) |
| Read a single line of a command which ends with a CR/LF pair.
|
virtual PBoolean | WriteResponse (unsigned numericCode, const PString &info) |
| Write a response code followed by a text string describing the response to a command.
|
virtual PBoolean | WriteResponse (const PString &code, const PString &info) |
virtual PBoolean | ReadResponse () |
| Read a response code followed by a text string describing the response to a command.
|
virtual PBoolean | ReadResponse (int &code, PString &info) |
virtual int | ExecuteCommand (PINDEX cmdNumber) |
| Write a command to the socket, using WriteCommand() and await a response using ReadResponse() .
|
virtual int | ExecuteCommand (PINDEX cmdNumber, const PString ¶m) |
int | GetLastResponseCode () const |
| Return the code associated with the last response received by the socket.
|
PString | GetLastResponseInfo () const |
| Return the last response received by the socket.
|
| PIndirectChannel () |
| Create a new indirect channel without any channels to redirect to.
|
| ~PIndirectChannel () |
| Close the indirect channel, deleting read/write channels if desired.
|
Comparison | Compare (const PObject &obj) const |
| Determine if the two objects refer to the same indirect channel.
|
virtual PString | GetName () const |
| Get the name of the channel.
|
virtual PBoolean | Close () |
| Close the channel.
|
virtual PBoolean | IsOpen () const |
| Determine if the channel is currently open and read and write operations can be executed on it.
|
virtual PBoolean | Shutdown (ShutdownValue option) |
| Close one or both of the data streams associated with a channel.
|
virtual bool | SetLocalEcho (bool localEcho) |
| Set local echo mode.
|
virtual PChannel * | GetBaseReadChannel () const |
| This function returns the eventual base channel for reading of a series of indirect channels provided by descendents of PIndirectChannel .
|
virtual PChannel * | GetBaseWriteChannel () const |
| This function returns the eventual base channel for writing of a series of indirect channels provided by descendents of PIndirectChannel .
|
virtual PString | GetErrorText (ErrorGroup group=NumErrorGroups) const |
| Get error message description.
|
PBoolean | Open (PChannel &channel) |
| Set the channel for both read and write operations.
|
PBoolean | Open (PChannel *channel, PBoolean autoDelete=true) |
| Set the channel for both read and write operations.
|
PBoolean | Open (PChannel *readChannel, PChannel *writeChannel, PBoolean autoDeleteRead=true, PBoolean autoDeleteWrite=true) |
| Set the channel for both read and write operations.
|
PChannel * | GetReadChannel () const |
| Get the channel used for read operations.
|
bool | SetReadChannel (PChannel *channel, bool autoDelete=true, bool closeExisting=false) |
| Set the channel for read operations.
|
PChannel * | GetWriteChannel () const |
| Get the channel used for write operations.
|
PBoolean | SetWriteChannel (PChannel *channel, bool autoDelete=true, bool closeExisting=false) |
| Set the channel for read operations.
|
PBoolean | SetErrorValues (Errors errorCode, int osError, ErrorGroup group=LastGeneralError) |
| Set error values to those specified.
|
| PChannel () |
| Create the channel.
|
| ~PChannel () |
| Close down the channel.
|
virtual PINDEX | HashFunction () const |
| Calculate a hash value for use in sets and dictionaries.
|
int | GetHandle () const |
| Get the integer operating system handle for the channel.
|
void | SetReadTimeout (const PTimeInterval &time) |
| Set the timeout for read operations.
|
PTimeInterval | GetReadTimeout () const |
| Get the timeout for read operations.
|
virtual PINDEX | GetLastReadCount () const |
| Get the number of bytes read by the last Read() call.
|
virtual int | ReadChar () |
| Read a single 8 bit byte from the channel.
|
PBoolean | ReadBlock (void *buf, PINDEX len) |
| Read len bytes into the buffer from the channel.
|
PString | ReadString (PINDEX len) |
| Read len character into a string from the channel.
|
virtual PBoolean | ReadAsync (void *buf, PINDEX len) |
| Begin an asynchronous read from channel.
|
virtual void | OnReadComplete (void *buf, PINDEX len) |
| User callback function for when a ReadAsync() call has completed or timed out.
|
void | SetWriteTimeout (const PTimeInterval &time) |
| Set the timeout for write operations to complete.
|
PTimeInterval | GetWriteTimeout () const |
| Get the timeout for write operations to complete.
|
virtual PBoolean | Write (const void *buf, PINDEX len, const void *mark) |
| Low level write to the channel with marker.
|
virtual PINDEX | GetLastWriteCount () const |
| Get the number of bytes written by the last Write() call.
|
PBoolean | WriteChar (int c) |
| Write a single character to the channel.
|
PBoolean | WriteString (const PString &str) |
| Write a string to the channel.
|
virtual PBoolean | WriteAsync (const void *buf, PINDEX len) |
| Begin an asynchronous write from channel.
|
virtual void | OnWriteComplete (const void *buf, PINDEX len) |
| User callback function for when a WriteAsync() call has completed or timed out.
|
virtual bool | FlowControl (const void *flowData) |
| Flow Control information Pass data to the channel for flowControl determination.
|
PBoolean | SetBufferSize (PINDEX newSize) |
| Set the iostream buffer size for reads and writes.
|
PBoolean | SendCommandString (const PString &command) |
| Send a command meta-string.
|
void | AbortCommandString () |
| Abort a command string that is in progress.
|
Errors | GetErrorCode (ErrorGroup group=NumErrorGroups) const |
| Get normalised error code.
|
int | GetErrorNumber (ErrorGroup group=NumErrorGroups) const |
| Get OS errro code.
|
virtual PBoolean | Read (const VectorOfSlice &slices) |
| Low level scattered read from the channel.
|
virtual PBoolean | Write (const VectorOfSlice &slices) |
| Low level scattered write to the channel.
|
virtual | ~PObject () |
virtual PObject * | Clone () const |
| Create a copy of the class on the heap.
|
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
| Determine the byte wise comparison of two objects.
|
bool | operator== (const PObject &obj) const |
| Compare the two objects.
|
bool | operator!= (const PObject &obj) const |
| Compare the two objects.
|
bool | operator< (const PObject &obj) const |
| Compare the two objects.
|
bool | operator> (const PObject &obj) const |
| Compare the two objects.
|
bool | operator<= (const PObject &obj) const |
| Compare the two objects.
|
bool | operator>= (const PObject &obj) const |
| Compare the two objects.
|
virtual const char * | GetClass (unsigned ancestor=0) const |
| Get the current dynamic type of the object instance.
|
PBoolean | IsClass (const char *cls) const |
virtual PBoolean | InternalIsDescendant (const char *clsName) const |
| Determine if the dynamic type of the current instance is a descendent of the specified class.
|
virtual void | PrintOn (ostream &strm) const |
| Output the contents of the object to the stream.
|
virtual void | ReadFrom (istream &strm) |
| Input the contents of the object from the stream.
|