MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::endpoint::OptionEndpoint Class Reference

#include <option_endpoint.h>

Inheritance diagram for mrs::endpoint::OptionEndpoint:
[legend]

Public Types

using HandlerFactoryPtr = std::shared_ptr< mrs::interface::HandlerFactory >
 
using Handler = mrs::interface::RestHandler
 
using HandlerPtr = std::shared_ptr< Handler >
 
- Public Types inherited from mrs::interface::EndpointBase
using EnabledType = mrs::database::entry::EnabledType
 
using EndpointBasePtr = std::shared_ptr< EndpointBase >
 
using UniversalId = mrs::database::entry::UniversalId
 
using Children = std::vector< EndpointBasePtr >
 
using EndpointConfiguration = mrs::interface::EndpointConfiguration
 
using EndpointConfigurationPtr = std::shared_ptr< EndpointConfiguration >
 
using Handler = mrs::interface::RestHandler
 
using HandlerPtr = std::shared_ptr< Handler >
 
using Uri = ::http::base::Uri
 
using OptionalIndexNames = std::optional< std::vector< std::string > >
 

Public Member Functions

 OptionEndpoint (UniversalId service_id, EndpointConfigurationPtr configuration, HandlerFactoryPtr factory)
 
OptionalIndexNames get_index_files () override
 
- Public Member Functions inherited from mrs::interface::EndpointBase
 EndpointBase (EndpointConfigurationPtr configuration)
 
virtual ~EndpointBase ()=default
 
virtual UniversalId get_id () const =0
 
virtual UniversalId get_parent_id () const =0
 
virtual bool required_authentication () const
 
virtual std::string get_url_path () const
 
virtual Uri get_url () const
 
virtual void activate_public ()
 
virtual void activate_private ()
 
virtual void deactivate ()
 
virtual EnabledType get_enabled_level () const
 
void set_parent (EndpointBasePtr parent)
 
void change_parent (EndpointBasePtr parent_new)
 
EndpointConfigurationPtr get_configuration () const
 
const EndpointBasePtr get_parent_ptr () const
 
EndpointBasePtr get_parent_ptr ()
 
void add_child_endpoint (EndpointBasePtr child_ptr)
 
void remove_child_endpoint (const UniversalId &child_id)
 
Children get_children ()
 

Protected Member Functions

void update () override
 
- Protected Member Functions inherited from mrs::interface::EndpointBase
virtual EnabledType get_this_node_enabled_level () const =0
 
virtual std::string get_my_url_path_part () const =0
 
virtual std::string get_my_url_part () const =0
 
virtual bool does_this_node_require_authentication () const =0
 
virtual std::optional< std::string > get_options () const =0
 
void log_update ()
 
virtual std::string get_extra_update_data ()
 
EndpointBasePtr get_child_by_id (const UniversalId &id) const
 
void changed ()
 

Protected Attributes

UniversalId service_id_
 
std::vector< HandlerPtrhandlers_
 
HandlerFactoryPtr factory_
 
std::optional< std::vector< std::string > > directory_indexes_
 
- Protected Attributes inherited from mrs::interface::EndpointBase
std::optional< EnabledTypelast_state_
 
std::shared_mutex endpoints_access_
 
std::map< UniversalId, EndpointBasePtrendpoints_
 
std::weak_ptr< EndpointBaseparent_
 
EndpointConfigurationPtr configuration_
 

Additional Inherited Members

- Static Protected Member Functions inherited from mrs::interface::EndpointBase
static const char * get_state_name (EnabledType et)
 

Member Typedef Documentation

◆ Handler

◆ HandlerFactoryPtr

◆ HandlerPtr

Constructor & Destructor Documentation

◆ OptionEndpoint()

mrs::endpoint::OptionEndpoint::OptionEndpoint ( UniversalId  service_id,
EndpointConfigurationPtr  configuration,
HandlerFactoryPtr  factory 
)

Member Function Documentation

◆ get_index_files()

OptionalIndexNames mrs::endpoint::OptionEndpoint::get_index_files ( )
overridevirtual

◆ update()

void mrs::endpoint::OptionEndpoint::update ( )
overrideprotectedvirtual

Reimplemented from mrs::interface::EndpointBase.

Reimplemented in mrs::endpoint::UrlHostEndpoint.

Member Data Documentation

◆ directory_indexes_

std::optional<std::vector<std::string> > mrs::endpoint::OptionEndpoint::directory_indexes_
protected

◆ factory_

HandlerFactoryPtr mrs::endpoint::OptionEndpoint::factory_
protected

◆ handlers_

std::vector<HandlerPtr> mrs::endpoint::OptionEndpoint::handlers_
protected

◆ service_id_

UniversalId mrs::endpoint::OptionEndpoint::service_id_
protected

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