Samchon Framework for CPP
1.0.0
|
#include <ExternalServerClientArray.hpp>
Public Member Functions | |
ExternalServerClientArray () | |
Default Constructor. More... | |
virtual | ~ExternalServerClientArray ()=default |
Default Destructor. More... | |
Public Member Functions inherited from samchon::templates::external::ExternalServerArray< System > | |
ExternalServerArray () | |
virtual void | connect () |
Public Member Functions inherited from samchon::templates::external::ExternalSystemArray< System > | |
ExternalSystemArray () | |
virtual | ~ExternalSystemArray ()=default |
auto | hasRole (const std::string &key) const -> bool |
auto | getRole (const std::string &key) const -> std::shared_ptr< ExternalSystemRole > |
virtual void | sendData (std::shared_ptr< protocol::Invoke > invoke) |
virtual void | replyData (std::shared_ptr< protocol::Invoke > invoke)=0 |
virtual auto | CHILD_TAG () const -> std::string override |
A tag name of children. More... | |
Public Member Functions inherited from samchon::protocol::EntityGroup< Container, T, Key > | |
virtual void | construct (std::shared_ptr< library::XML > xml) |
Construct data of the Entity from an XML object. More... | |
auto | find (const typename child_type::key_type &key) -> typename container_type::iterator |
Get iterator to element. More... | |
auto | find (const typename child_type::key_type &key) const -> typename container_type::const_iterator |
Get const iterator to element. More... | |
auto | has (const typename child_type::key_type &key) const -> bool |
Indicates whether a container has an object having the specified identifier. More... | |
auto | count (const typename child_type::key_type &key) const -> size_t |
Count elements with a specific key. More... | |
auto | get (const typename child_type::key_type &key) -> typename container_type::value_type & |
Access the element by specified identifier(key). More... | |
auto | get (const typename child_type::key_type &key) const -> const typename container_type::value_type & |
Access the const element by specified identifier(key). More... | |
virtual auto | toXML () const -> std::shared_ptr< library::XML > |
Get an XML object represents the EntityGroup. More... | |
Public Member Functions inherited from samchon::protocol::Entity< Key > | |
virtual auto | key () const -> Key |
Get a key that can identify the Entity uniquely. More... | |
Public Member Functions inherited from samchon::protocol::IProtocol | |
virtual void | replyData (std::shared_ptr< Invoke >)=0 |
virtual void | sendData (std::shared_ptr< Invoke >)=0 |
Public Member Functions inherited from samchon::templates::external::ExternalClientArray< System > | |
ExternalClientArray () | |
Public Member Functions inherited from samchon::protocol::Server | |
Server () | |
virtual | ~Server () |
virtual void | open (int port) |
virtual void | close () |
Protected Member Functions | |
virtual auto | createChild (std::shared_ptr< library::XML > xml) -> System *override final |
virtual auto | createExternalServer (std::shared_ptr< library::XML >) -> System *=0 |
Protected Member Functions inherited from samchon::templates::external::ExternalClientArray< System > | |
virtual void | addClient (std::shared_ptr< protocol::ClientDriver > driver) override final |
virtual auto | createExternalClient (std::shared_ptr< protocol::ClientDriver >) -> System *=0 |
Protected Member Functions inherited from samchon::protocol::Server | |
virtual void | addClient (std::shared_ptr< ClientDriver >)=0 |
An array and manager of external servers and external clients.
The ExternalServerClientArray is an abstract class, derived from the ExternalSystemArray class, opening a server accepting external clients and being a client connecting to external servers at the same time.
Extends this ExternalServerClientArray and overrides below methods. After the overridings, open server with open() method and connect to external servers through the connect() method.
An array and manager of external system drivers.
The ExternalSystemArray is an abstract class containing and managing external system drivers, ExternalSystem objects. Within framewokr of network, ExternalSystemArray represents your system and children ExternalSystem objects represent remote, external systems connected with your system. With this ExternalSystemArray, you can manage multiple external systems as a group.
You can specify this ExternalSystemArray class to be a server accepting external clients or a client connecting to external servers. Even both of them is also possible.
The ExternalSystemArray class can use Proxy Pattern. In framework within user, which external system is connected with this system, it's not important. Only interested in user's perspective is which can be done.
By using the logical proxy, user dont't need to know which role is belonged to which system. Just access to a role directly from ExternalSystemArray.getRole. Sends and receives Invoke message via the role.
Definition at line 32 of file ExternalServerClientArray.hpp.
|
inline |
Default Constructor.
Definition at line 47 of file ExternalServerClientArray.hpp.
References samchon::templates::external::ExternalServerClientArray< System >::~ExternalServerClientArray().
|
virtualdefault |
Default Destructor.
Referenced by samchon::templates::external::ExternalServerClientArray< System >::ExternalServerClientArray().
|
inlinefinaloverrideprotectedvirtual |
Factory method of a child Entity.
This method is migrated to createExternalServer. Override the createExternalServer method.
xml | An XML object represents child element, so that can identify the type of child to create. |
Reimplemented from samchon::templates::external::ExternalClientArray< System >.
Definition at line 70 of file ExternalServerClientArray.hpp.
References samchon::templates::external::ExternalServerClientArray< System >::createExternalServer().
|
protectedpure virtual |
Factory method creating an IExternalServer object.
xml | An XML object represents child element, so that can identify the type of child to create. |
Referenced by samchon::templates::external::ExternalServerClientArray< System >::createChild().