Class WebSocketController
Synopsis
#include <lib/inc/drogon/WebSocketController.h>
template <typename T, bool AutoCreation = true>
class WebSocketController : public DrObject<T>, public WebSocketControllerBase
Description
The reflection base class template for WebSocket controllers.
- Template Parameters
T
- the type of the implementation classAutoCreation
- The flag for automatically creating, user can set this flag to false for classes that have nondefault constructors.
Mentioned in
- Controller Introduction / Controller
- Controller Introduction / Controller WebSocketController / WebSocketController
- Drogon Ctl Command / Create sub command
- Drogon Ctl Command / Controller creation
Inheritance
Ancestors: DrObject, WebSocketControllerBase
Methods
WebSocketController | ||
~WebSocketController | ||
registerSelf__ |
Source
Lines 69-113 in lib/inc/drogon/WebSocketController.h.
template <typename T, bool AutoCreation = true>
class WebSocketController : public DrObject<T>, public WebSocketControllerBase
{
public:
static const bool isAutoCreation = AutoCreation;
virtual ~WebSocketController()
{
}
protected:
WebSocketController()
{
}
static void registerSelf__(
const std::string &path,
const std::vector<internal::HttpConstraint> &filtersAndMethods)
{
LOG_TRACE << "register websocket controller("
<< WebSocketController<T, AutoCreation>::classTypeName()
<< ") on path:" << path;
app().registerWebSocketController(
path,
WebSocketController<T, AutoCreation>::classTypeName(),
filtersAndMethods);
}
private:
class pathRegistrator
{
public:
pathRegistrator()
{
if (AutoCreation)
{
T::initPathRouting();
}
}
};
friend pathRegistrator;
static pathRegistrator registrator_;
virtual void *touch()
{
return ®istrator_;
}
};