Skip to content

Commit 152e054

Browse files
committed
Update network.cpp
1 parent b235f56 commit 152e054

File tree

1 file changed

+29
-38
lines changed

1 file changed

+29
-38
lines changed

network.cpp

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,19 @@
1818
* Github: https://github.com/mikecovlee
1919
*/
2020
#include <network/network.hpp>
21-
#include <covscript/cni.hpp>
2221
#include <covscript/extension.hpp>
2322
#include <memory>
2423

2524
namespace network_cs_ext {
2625
using namespace cs;
27-
static extension network_ext;
28-
static extension_t network_ext_shared = make_shared_namespace(network_ext);
2926

3027
string host_name()
3128
{
3229
return asio::ip::host_name();
3330
}
3431

3532
namespace tcp {
36-
static extension tcp_ext;
37-
static extension_t tcp_ext_shared = make_shared_namespace(tcp_ext);
33+
static namespace_t tcp_ext = make_shared_namespace<name_space>();
3834
using socket_t=std::shared_ptr<cs_impl::network::tcp::socket>;
3935
using acceptor_t=std::shared_ptr<asio::ip::tcp::acceptor>;
4036
using endpoint_t=asio::ip::tcp::endpoint;
@@ -85,8 +81,7 @@ namespace network_cs_ext {
8581
}
8682

8783
namespace socket {
88-
static extension socket_ext;
89-
static extension_t socket_ext_shared = make_shared_namespace(socket_ext);
84+
static namespace_t socket_ext = make_shared_namespace<name_space>();
9085

9186
var socket()
9287
{
@@ -164,8 +159,7 @@ namespace network_cs_ext {
164159
}
165160

166161
namespace ep {
167-
static extension ep_ext;
168-
static extension_t ep_ext_shared = make_shared_namespace(ep_ext);
162+
static namespace_t ep_ext = make_shared_namespace<name_space>();
169163

170164
string address(const endpoint_t& ep)
171165
{
@@ -180,8 +174,7 @@ namespace network_cs_ext {
180174
}
181175

182176
namespace udp {
183-
static extension udp_ext;
184-
static extension_t udp_ext_shared = make_shared_namespace(udp_ext);
177+
static namespace_t udp_ext=make_shared_namespace<name_space>();
185178
using socket_t=std::shared_ptr<cs_impl::network::udp::socket>;
186179
using endpoint_t=asio::ip::udp::endpoint;
187180

@@ -220,8 +213,7 @@ namespace network_cs_ext {
220213
}
221214

222215
namespace socket {
223-
static extension socket_ext;
224-
static extension_t socket_ext_shared = make_shared_namespace(socket_ext);
216+
static namespace_t socket_ext=make_shared_namespace<name_space>();
225217

226218
var socket()
227219
{
@@ -299,8 +291,7 @@ namespace network_cs_ext {
299291
}
300292

301293
namespace ep {
302-
static extension ep_ext;
303-
static extension_t ep_ext_shared = make_shared_namespace(ep_ext);
294+
static namespace_t ep_ext=make_shared_namespace<name_space>();
304295

305296
string address(const endpoint_t& ep)
306297
{
@@ -314,71 +305,72 @@ namespace network_cs_ext {
314305
}
315306
}
316307

317-
void init()
308+
void init(name_space& network_ext)
318309
{
319-
network_ext.add_var("tcp", var::make_protect<extension_t>(tcp::tcp_ext_shared));
320-
network_ext.add_var("udp", var::make_protect<extension_t>(udp::udp_ext_shared));
321-
network_ext.add_var("host_name", make_cni(host_name, true));
322-
tcp::tcp_ext
323-
.add_var("socket", var::make_constant<type>(tcp::socket::socket, type_id(typeid(tcp::socket_t)), tcp::socket::socket_ext_shared))
310+
network_ext
311+
.add_var("tcp", make_namespace(tcp::tcp_ext))
312+
.add_var("udp", make_namespace(udp::udp_ext))
313+
.add_var("host_name", make_cni(host_name, true));
314+
(*tcp::tcp_ext)
315+
.add_var("socket", var::make_constant<type>(tcp::socket::socket, type_id(typeid(tcp::socket_t)), tcp::socket::socket_ext))
324316
.add_var("acceptor", make_cni(tcp::acceptor, true))
325317
.add_var("endpoint", make_cni(tcp::endpoint, true))
326318
.add_var("endpoint_v4", make_cni(tcp::endpoint_v4, true))
327319
.add_var("endpoint_v6", make_cni(tcp::endpoint_v6, true))
328320
.add_var("resolve", make_cni(tcp::resolve, true));
329-
tcp::socket::socket_ext
321+
(*tcp::socket::socket_ext)
330322
.add_var("connect", make_cni(tcp::socket::connect))
331323
.add_var("accept", make_cni(tcp::socket::accept))
332324
.add_var("close", make_cni(tcp::socket::close))
333325
.add_var("is_open", make_cni(tcp::socket::is_open))
334326
.add_var("receive", make_cni(tcp::socket::receive))
335327
.add_var("send", make_cni(tcp::socket::send))
336328
.add_var("remote_endpoint", make_cni(tcp::socket::remote_endpoint));
337-
tcp::ep::ep_ext
329+
(*tcp::ep::ep_ext)
338330
.add_var("address", make_cni(tcp::ep::address, true))
339331
.add_var("port", make_cni(tcp::ep::port, true));
340-
udp::udp_ext
341-
.add_var("socket", var::make_constant<type>(udp::socket::socket, type_id(typeid(udp::socket_t)), udp::socket::socket_ext_shared))
332+
(*udp::udp_ext)
333+
.add_var("socket", var::make_constant<type>(udp::socket::socket, type_id(typeid(udp::socket_t)), udp::socket::socket_ext))
342334
.add_var("endpoint", make_cni(udp::endpoint, true))
343335
.add_var("endpoint_v4", make_cni(udp::endpoint_v4, true))
344336
.add_var("endpoint_v6", make_cni(udp::endpoint_v6, true))
345337
.add_var("resolve", make_cni(udp::resolve, true));
346-
udp::socket::socket_ext
338+
(*udp::socket::socket_ext)
347339
.add_var("open_v4", make_cni(udp::socket::open_v4))
348340
.add_var("open_v6", make_cni(udp::socket::open_v6))
349341
.add_var("bind", make_cni(udp::socket::bind))
350342
.add_var("close", make_cni(udp::socket::close))
351343
.add_var("is_open", make_cni(udp::socket::is_open))
352344
.add_var("receive_from", make_cni(udp::socket::receive_from))
353345
.add_var("send_to", make_cni(udp::socket::send_to));
354-
udp::ep::ep_ext
346+
(*udp::ep::ep_ext)
355347
.add_var("address", make_cni(udp::ep::address, true))
356348
.add_var("port", make_cni(udp::ep::port, true));
357349
}
358350
}
359351
namespace cs_impl {
360352
template<>
361-
cs::extension_t &get_ext<network_cs_ext::tcp::socket_t>()
353+
cs::namespace_t &get_ext<network_cs_ext::tcp::socket_t>()
362354
{
363-
return network_cs_ext::tcp::socket::socket_ext_shared;
355+
return network_cs_ext::tcp::socket::socket_ext;
364356
}
365357

366358
template<>
367-
cs::extension_t &get_ext<network_cs_ext::tcp::endpoint_t>()
359+
cs::namespace_t &get_ext<network_cs_ext::tcp::endpoint_t>()
368360
{
369-
return network_cs_ext::tcp::ep::ep_ext_shared;
361+
return network_cs_ext::tcp::ep::ep_ext;
370362
}
371363

372364
template<>
373-
cs::extension_t &get_ext<network_cs_ext::udp::socket_t>()
365+
cs::namespace_t &get_ext<network_cs_ext::udp::socket_t>()
374366
{
375-
return network_cs_ext::udp::socket::socket_ext_shared;
367+
return network_cs_ext::udp::socket::socket_ext;
376368
}
377369

378370
template<>
379-
cs::extension_t &get_ext<network_cs_ext::udp::endpoint_t>()
371+
cs::namespace_t &get_ext<network_cs_ext::udp::endpoint_t>()
380372
{
381-
return network_cs_ext::udp::ep::ep_ext_shared;
373+
return network_cs_ext::udp::ep::ep_ext;
382374
}
383375

384376
template<>
@@ -412,8 +404,7 @@ namespace cs_impl {
412404
}
413405
}
414406

415-
cs::extension *cs_extension()
407+
void cs_extension_main(cs::name_space& ns)
416408
{
417-
network_cs_ext::init();
418-
return &network_cs_ext::network_ext;
409+
network_cs_ext::init(ns);
419410
}

0 commit comments

Comments
 (0)