Explorar o código

add service_position

zhuyf %!s(int64=5) %!d(string=hai) anos
pai
achega
c22a5c90f2
Modificáronse 3 ficheiros con 13 adicións e 5 borrados
  1. 1 3
      main.cpp
  2. 9 0
      service_position.cpp
  3. 3 2
      service_position.h

+ 1 - 3
main.cpp

@@ -194,9 +194,7 @@ int main(int argc ,char * argv[])
     int port=config.get("service.port",4000);
 
     int interface_port = config.get("service.interface_port",7001);
-    m_service = service_position_ptr(new service_position_ptr::element_type());
-    m_service->set_port(interface_port);
-    m_service->start();
+    service_position::instance(interface_port);
 
     log_info("service_handle::instance(&mh)->run(%d)",port);
     std_info("service_handle::instance(&mh)->run(%d)",port);

+ 9 - 0
service_position.cpp

@@ -230,3 +230,12 @@ void service_position::handle_notify(buffer_ptr p_buffer)
 
 void service_position::handle_write(const boost::system::error_code&, unsigned int, socket_ptr, buffer_ptr)
 {}
+
+service_position_ptr service_position::instance(int port)
+{
+    service_position_ptr _service = service_position_ptr(new service_position_ptr::element_type());
+    _service->set_port(port);
+    _service->start();
+
+    return _service;
+}

+ 3 - 2
service_position.h

@@ -27,6 +27,8 @@ class info_send{
 };
 
 typedef std::shared_ptr<info_send> info_send_ptr;
+class service_position;
+typedef boost::shared_ptr<service_position> service_position_ptr;
 
 class service_position: public boost::enable_shared_from_this<service_position>{
     public:
@@ -61,8 +63,7 @@ class service_position: public boost::enable_shared_from_this<service_position>{
         virtual std::string to_str(const std::chrono::system_clock::time_point& time);
         virtual void init_cache(info_send_ptr& p_info);
     public:
-        static service_position_ptr instance();
+        static service_position_ptr instance(int port);
 };
 
-typedef boost::shared_ptr<service_position> service_position_ptr;
 #endif