SNode.C
Loading...
Searching...
No Matches
web::websocket::SubProtocolFactory< SubProtocolT > Class Template Referenceabstract

#include <SubProtocolFactory.h>

Collaboration diagram for web::websocket::SubProtocolFactory< SubProtocolT >:

Public Types

using SubProtocol = SubProtocolT
 

Public Member Functions

 SubProtocolFactory ()=delete
 
 SubProtocolFactory (const std::string &name)
 
 SubProtocolFactory (SubProtocolFactory &)=delete
 
 SubProtocolFactory (SubProtocolFactory &&)=delete
 
SubProtocolFactoryoperator= (SubProtocolFactory &)=delete
 
SubProtocolFactoryoperator= (SubProtocolFactory &&)=delete
 
virtual ~SubProtocolFactory ()=default
 
SubProtocolcreateSubProtocol (SubProtocolContext *subProtocolContext)
 
virtual std::size_t deleteSubProtocol (SubProtocol *subProtocol)
 
const std::string & getName ()
 
void setHandle (void *handle)
 
void * getHandle ()
 

Private Member Functions

virtual SubProtocolcreate (SubProtocolContext *subProtocolContext)=0
 

Private Attributes

std::size_t refCount = 0
 
std::string subProtocolName
 
void * handle = nullptr
 

Detailed Description

template<typename SubProtocolT>
class web::websocket::SubProtocolFactory< SubProtocolT >

Definition at line 37 of file SocketContextUpgrade.h.

Member Typedef Documentation

◆ SubProtocol

template<typename SubProtocolT >
using web::websocket::SubProtocolFactory< SubProtocolT >::SubProtocol = SubProtocolT

Definition at line 40 of file SubProtocolFactory.h.

Constructor & Destructor Documentation

◆ SubProtocolFactory() [1/4]

template<typename SubProtocolT >
web::websocket::SubProtocolFactory< SubProtocolT >::SubProtocolFactory ( )
delete

◆ SubProtocolFactory() [2/4]

template<typename SubProtocolT >
web::websocket::SubProtocolFactory< SubProtocolT >::SubProtocolFactory ( const std::string & name)
inline

Definition at line 44 of file SubProtocolFactory.h.

◆ SubProtocolFactory() [3/4]

template<typename SubProtocolT >
web::websocket::SubProtocolFactory< SubProtocolT >::SubProtocolFactory ( SubProtocolFactory< SubProtocolT > & )
delete

◆ SubProtocolFactory() [4/4]

template<typename SubProtocolT >
web::websocket::SubProtocolFactory< SubProtocolT >::SubProtocolFactory ( SubProtocolFactory< SubProtocolT > && )
delete

◆ ~SubProtocolFactory()

template<typename SubProtocolT >
virtual web::websocket::SubProtocolFactory< SubProtocolT >::~SubProtocolFactory ( )
virtualdefault

Member Function Documentation

◆ create()

template<typename SubProtocolT >
virtual SubProtocol * web::websocket::SubProtocolFactory< SubProtocolT >::create ( SubProtocolContext * subProtocolContext)
privatepure virtual

◆ createSubProtocol()

template<typename SubProtocolT >
SubProtocol * web::websocket::SubProtocolFactory< SubProtocolT >::createSubProtocol ( SubProtocolContext * subProtocolContext)
inline

Definition at line 56 of file SubProtocolFactory.h.

56 {
57 SubProtocol* subProtocol = create(subProtocolContext);
58
59 if (subProtocol != nullptr) {
60 refCount++;
61 }
62
63 return subProtocol;
64 }
virtual SubProtocol * create(SubProtocolContext *subProtocolContext)=0

◆ deleteSubProtocol()

template<typename SubProtocolT >
virtual std::size_t web::websocket::SubProtocolFactory< SubProtocolT >::deleteSubProtocol ( SubProtocol * subProtocol)
inlinevirtual

Definition at line 70 of file SubProtocolFactory.h.

70 {
71 if (subProtocol != nullptr) {
72 delete subProtocol;
73
74 refCount--;
75 }
76
77 return refCount;
78 }

◆ getHandle()

template<typename SubProtocolT >
void * web::websocket::SubProtocolFactory< SubProtocolT >::getHandle ( )
inline

Definition at line 88 of file SubProtocolFactory.h.

88 {
89 return handle;
90 }

◆ getName()

template<typename SubProtocolT >
const std::string & web::websocket::SubProtocolFactory< SubProtocolT >::getName ( )
inline

Definition at line 80 of file SubProtocolFactory.h.

80 {
81 return subProtocolName;
82 }

◆ operator=() [1/2]

template<typename SubProtocolT >
SubProtocolFactory & web::websocket::SubProtocolFactory< SubProtocolT >::operator= ( SubProtocolFactory< SubProtocolT > && )
delete

◆ operator=() [2/2]

template<typename SubProtocolT >
SubProtocolFactory & web::websocket::SubProtocolFactory< SubProtocolT >::operator= ( SubProtocolFactory< SubProtocolT > & )
delete

◆ setHandle()

template<typename SubProtocolT >
void web::websocket::SubProtocolFactory< SubProtocolT >::setHandle ( void * handle)
inline

Definition at line 84 of file SubProtocolFactory.h.

84 {
85 this->handle = handle;
86 }

Member Data Documentation

◆ handle

template<typename SubProtocolT >
void* web::websocket::SubProtocolFactory< SubProtocolT >::handle = nullptr
private

Definition at line 97 of file SubProtocolFactory.h.

◆ refCount

template<typename SubProtocolT >
std::size_t web::websocket::SubProtocolFactory< SubProtocolT >::refCount = 0
private

Definition at line 93 of file SubProtocolFactory.h.

◆ subProtocolName

template<typename SubProtocolT >
std::string web::websocket::SubProtocolFactory< SubProtocolT >::subProtocolName
private

Definition at line 95 of file SubProtocolFactory.h.


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