PHTTPSpace Class Reference

This class describes a name space that a Universal Resource Locator operates in. More...

#include <http.h>

Inheritance diagram for PHTTPSpace:

PContainer PObject List of all members.

Public Types

 ErrorOnExist
 Generate error if resource already exists.
 Overwrite
 Overwrite the existing resource at URL location.
enum  AddOptions { ErrorOnExist, Overwrite }

Public Member Functions

 PHTTPSpace ()
 Constructor for HTTP URL Name Space.
PBoolean AddResource (PHTTPResource *resource, AddOptions overwrite=ErrorOnExist)
 Add a new resource to the URL space.
PBoolean DelResource (const PURL &url)
 Delete an existing resource to the URL space.
PHTTPResourceFindResource (const PURL &url)
 Locate the resource specified by the URL in the URL name space.
void StartRead () const
 This function attempts to acquire the mutex for reading.
void EndRead () const
 This function attempts to release the mutex for reading.
void StartWrite () const
 This function attempts to acquire the mutex for writing.
void EndWrite () const
 This function attempts to release the mutex for writing.

Protected Member Functions

 PSORTED_LIST (ChildList, Node)

Protected Attributes

PReadWriteMutexmutex
PHTTPSpace::Noderoot

Classes

class  Node

Detailed Description

This class describes a name space that a Universal Resource Locator operates in.

Each section of the hierarchy field of the URL points to a leg in the tree specified by this class.


Member Enumeration Documentation

enum PHTTPSpace::AddOptions

Enumerator:
ErrorOnExist  Generate error if resource already exists.
Overwrite  Overwrite the existing resource at URL location.


Constructor & Destructor Documentation

PHTTPSpace::PHTTPSpace (  ) 

Constructor for HTTP URL Name Space.


Member Function Documentation

PBoolean PHTTPSpace::AddResource ( PHTTPResource resource,
AddOptions  overwrite = ErrorOnExist 
)

Add a new resource to the URL space.

If there is already a resource at the location in the tree, or that location in the tree is already in the path to another resource then the function will fail.

The overwrite flag can be used to replace an existing resource. The function will still fail if the resource is on a partial path to another resource but not if it is a leaf node.

Returns:
true if resource added, false if failed.
Parameters:
resource  Resource to add to the name space.
overwrite  Flag to overwrite an existing resource if it already exists.

PBoolean PHTTPSpace::DelResource ( const PURL url  ) 

Delete an existing resource to the URL space.

If there is not a resource at the location in the tree, or that location in the tree is in the path to another resource then the function will fail.

Returns:
true if resource deleted, false if failed.
Parameters:
url  URL to search for in the name space.

void PHTTPSpace::EndRead (  )  const [inline]

This function attempts to release the mutex for reading.

void PHTTPSpace::EndWrite (  )  const [inline]

This function attempts to release the mutex for writing.

PHTTPResource* PHTTPSpace::FindResource ( const PURL url  ) 

Locate the resource specified by the URL in the URL name space.

Returns:
The resource found or NULL if no resource at that position in hiearchy.
Parameters:
url  URL to search for in the name space.

PHTTPSpace::PSORTED_LIST ( ChildList  ,
Node   
) [protected]

void PHTTPSpace::StartRead (  )  const [inline]

This function attempts to acquire the mutex for reading.

void PHTTPSpace::StartWrite (  )  const [inline]

This function attempts to acquire the mutex for writing.


Member Data Documentation

PReadWriteMutex* PHTTPSpace::mutex [protected]

PHTTPSpace::Node * PHTTPSpace::root [protected]


The documentation for this class was generated from the following file:
Generated on Fri Oct 14 01:44:12 2011 for PTLib by  doxygen 1.4.7