#include <UriScheme.h>

Collaboration diagram for AnyP::UriScheme:

Public Types

typedef std::vector< SBufLowercaseSchemeNames
 

Public Member Functions

 UriScheme ()
 
 UriScheme (AnyP::ProtocolType const aScheme, const char *img=nullptr)
 
 UriScheme (const AnyP::UriScheme &o)
 
 UriScheme (AnyP::UriScheme &&)=default
 
 ~UriScheme ()
 
AnyP::UriSchemeoperator= (const AnyP::UriScheme &o)
 
AnyP::UriSchemeoperator= (AnyP::UriScheme &&)=default
 
 operator AnyP::ProtocolType () const
 
bool operator!= (AnyP::ProtocolType const &aProtocol) const
 
SBuf image () const
 
unsigned short defaultPort () const
 

Static Public Member Functions

static void Init ()
 initializes down-cased protocol scheme names array More...
 

Private Attributes

AnyP::ProtocolType theScheme_
 This is a typecode pointer into the enum/registry of protocols handled. More...
 
SBuf image_
 the string representation More...
 

Static Private Attributes

static LowercaseSchemeNames LowercaseSchemeNames_
 

Detailed Description

This class represents a URI Scheme such as http:// https://, wais://, urn: etc. It does not represent the PROTOCOL that such schemes refer to.

Definition at line 24 of file UriScheme.h.

Member Typedef Documentation

Constructor & Destructor Documentation

AnyP::UriScheme::UriScheme ( )
inline

Definition at line 29 of file UriScheme.h.

AnyP::UriScheme::UriScheme ( AnyP::ProtocolType const  aScheme,
const char *  img = nullptr 
)
Parameters
imgExplicit scheme representation for unknown/none schemes.

Definition at line 16 of file UriScheme.cc.

References image_, LowercaseSchemeNames_, AnyP::PROTO_MAX, AnyP::PROTO_NONE, AnyP::PROTO_UNKNOWN, and theScheme_.

AnyP::UriScheme::UriScheme ( const AnyP::UriScheme o)
inline

Definition at line 32 of file UriScheme.h.

AnyP::UriScheme::UriScheme ( AnyP::UriScheme &&  )
default
AnyP::UriScheme::~UriScheme ( )
inline

Definition at line 34 of file UriScheme.h.

Member Function Documentation

SBuf AnyP::UriScheme::image ( ) const
inline

Get a char string representation of the scheme. Does not include the ':' or "://" terminators.

Definition at line 50 of file UriScheme.h.

References image_.

Referenced by Format::Format::assemble(), carpSelectParent(), clientHttpConnectionsOpen(), ErrorState::Convert(), operator<<(), parsePortCfg(), parsePortSpecification(), prepareAcceleratedURL(), prepareTransparentURL(), testUriScheme::testC_str(), and urlMakeAbsolute().

void AnyP::UriScheme::Init ( )
static
AnyP::UriScheme::operator AnyP::ProtocolType ( ) const
inline

Definition at line 43 of file UriScheme.h.

References theScheme_.

bool AnyP::UriScheme::operator!= ( AnyP::ProtocolType const &  aProtocol) const
inline

Definition at line 45 of file UriScheme.h.

References theScheme_.

AnyP::UriScheme& AnyP::UriScheme::operator= ( const AnyP::UriScheme o)
inline

Definition at line 36 of file UriScheme.h.

References image_, and theScheme_.

AnyP::UriScheme& AnyP::UriScheme::operator= ( AnyP::UriScheme &&  )
default

Member Data Documentation

SBuf AnyP::UriScheme::image_
private

Definition at line 66 of file UriScheme.h.

Referenced by image(), operator=(), and UriScheme().

AnyP::UriScheme::LowercaseSchemeNames AnyP::UriScheme::LowercaseSchemeNames_
staticprivate

optimization: stores down-cased protocol scheme names, copied from AnyP::ProtocolType_str

Definition at line 60 of file UriScheme.h.

Referenced by UriScheme().

AnyP::ProtocolType AnyP::UriScheme::theScheme_
private

Definition at line 63 of file UriScheme.h.

Referenced by operator AnyP::ProtocolType(), operator!=(), operator=(), and UriScheme().


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors