const ClientPtr ClientsRegister::look_up_with_id(ClientID id) const { boost::unique_lock< boost::shared_mutex > lock(access_); if (clients_.find(id) != clients_.end()) return clients_.at(id); else return ClientPtr(nullptr); }
ClientID ClientsRegister::register_client(const Address *address, TcpPointer pointer, std::string nickname) { boost::unique_lock< boost::shared_mutex > lock(access_); std::cout << "* Rejestracja klienta: " << nickname << " łączącego się z ip: "<< address->ip << " i portu: " << address->port << ".\n"; auto it = clients_.insert(std::pair<ClientID, ClientPtr>(address->owner, ClientPtr(new Client(address, pointer, nickname)))); //zawiadomienie obserwatorów o nowym kliencie w rejestrze Packet p(Packet::UPDATED_RESOURCE, nullptr, new ClientDataRaw(*(it.first)->second)); Subject::notify(p); return address->owner; }
HttpInterfaceClient::HttpInterfaceClient(const std::string& ifacename, const TBS::Services::JsonClientParams & p) : interfaceName(ifacename), p(p) { LTRACE("Json") << "create json http conector " << p.hostName() << " port " << p.port() << LE; if (p.isHttps()){ //std::cout << "no verify " << std::endl; Poco::Net::Context::Ptr context = new Poco::Net::Context(Poco::Net::Context::CLIENT_USE, "", "", "", Poco::Net::Context::VERIFY_NONE); //std::cout << "create https for "<< p.hostName() << " port " << p.port() << std::endl; client = ClientPtr(new Poco::Net::HTTPSClientSession(p.hostName(), p.port(), context)); //std::cout << "create https done" << std::endl; } else { //std::cout << "create http" << std::endl; client = ClientPtr(new Poco::Net::HTTPClientSession(p.hostName(), p.port())); //std::cout << "create http done" << std::endl; } client->setTimeout(5l * 1000000l); }
DotNetClient::DotNetClient(const TBS::Services::DotNetClientParams & params) : params(params) { LTRACE("Camera") << "construct: " << "create client " << params.host << ":" << params.port << LE; std::cout << "create client " << params.host << ":" << params.port << std::endl; client = ClientPtr(new Poco::Net::HTTPClientSession(params.host, params.port)); std::cout << "create client " << params.host << ":" << params.port << " done" << std::endl; LTRACE("Camera") << "construct: " << "create client " << params.host << ":" << params.port << " done" << LE; }
DotNetClient::DotNetClient(const TBS::Services::DotNetClientParams & params) : params(params) { LTRACE("Camera") << "construct: " << "create client " << params.host << ":" << params.port << LE; std::cout << "create client " << params.host << ":" << params.port << std::endl; client = ClientPtr(new Poco::Net::HTTPClientSession(params.host, params.port)); if (params.timeout.totalMilliseconds() > 0) { client->setTimeout(params.timeout); } std::cout << "create client " << params.host << ":" << params.port << " done" << std::endl; LTRACE("Camera") << "construct: " << "create client " << params.host << ":" << params.port << " done" << LE; LTRACE("Camera") << "client timeout: " << client->getTimeout().totalSeconds() << LE; }
PlayerFactory::PlayerFactory( const unsigned char player_id, CameraPtr camera ) { FrameworkPtr fw = Framework::getInstance ( ); DevicePtr device = DevicePtr( new Device ); KeyboardPtr keyboad = KeyboardPtr( new Keyboard ); MousePtr mouse = MousePtr( new Mouse ); ClientPtr client = ClientPtr( new Client ); AppPtr app = AppPtr( new App( player_id ) ); ViewerPtr viewer = ViewerPtr( new Viewer ); DrawerPtr drawer = DrawerPtr( new Drawer( "../Resource" ) ); SoundPtr sound = SoundPtr( new Sound( ) ); if ( !camera ) { camera = PlayerCameraPtr( new PlayerCamera ); } fw->addTask( Device::getTag( ), device ); fw->addTask( Keyboard::getTag( ), keyboad ); fw->addTask( Mouse::getTag( ), mouse ); fw->addTask( Client::getTag( ), client ); fw->addTask( Viewer::getTag( ), viewer ); fw->addTask( Drawer::getTag( ), drawer ); fw->addTask( App::getTag( ), app ); fw->addTask( Camera::getTag( ), camera ); fw->addTask( Sound::getTag( ), sound ); }