~registry/scalestack/trunk

« back to all changes in this revision

Viewing changes to scalestack/network/ip/common.h

  • Committer: Eric Day
  • Date: 2010-12-04 17:17:34 UTC
  • mfrom: (56.1.9)
  • Revision ID: git-v1:9c392b034d652023a4b28ae2976aca128bb856c2
Merged Eric's branch with style updates, config file support, and other cleanup.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Scale Stack
3
 
 *
4
 
 * Copyright (C) 2010 Eric Day (eday@oddments.org)
5
 
 * All rights reserved.
6
 
 *
7
 
 * Use and distribution licensed under the BSD license. See the
8
 
 * COPYING file in the root project directory for full text.
9
 
 */
10
 
 
11
 
/**
12
 
 * @file
13
 
 * @brief Network IP Common Declarations
14
 
 */
15
 
 
16
 
#ifndef SCALESTACK_NETWORK_IP_COMMON_H
17
 
#define SCALESTACK_NETWORK_IP_COMMON_H
18
 
 
19
 
#include <string>
20
 
#include <vector>
21
 
 
22
 
#include <scalestack/common/macros.h>
23
 
#include <scalestack/event/handler.h>
24
 
 
25
 
struct addrinfo;
26
 
 
27
 
namespace scalestack
28
 
{
29
 
namespace network
30
 
{
31
 
 
32
 
class module;
33
 
 
34
 
} /* namespace module */
35
 
 
36
 
namespace network
37
 
{
38
 
namespace ip
39
 
{
40
 
 
41
 
class SCALESTACK_API common
42
 
{
43
 
public:
44
 
 
45
 
  common();
46
 
 
47
 
  virtual ~common();
48
 
 
49
 
  void parse_hosts(kernel::module& current,
50
 
                   const std::vector<std::pair<std::string,std::string> >& hosts,
51
 
                   const struct addrinfo& address_options,
52
 
                   bool local_only);
53
 
 
54
 
  virtual void add_address_list(const struct addrinfo* local,
55
 
                                const struct addrinfo* peer);
56
 
 
57
 
private:
58
 
 
59
 
  /**
60
 
   * Don't allow copying of objects.
61
 
   */
62
 
  SCALESTACK_LOCAL
63
 
  common(const common&);
64
 
 
65
 
  /**
66
 
   * Don't allow assignment of objects.
67
 
   */
68
 
  SCALESTACK_LOCAL
69
 
  common& operator=(const common&);
70
 
};
71
 
 
72
 
/*
73
 
 * Public methods.
74
 
 */
75
 
 
76
 
inline void common::add_address_list(const struct addrinfo*, const struct addrinfo*)
77
 
{
78
 
}
79
 
 
80
 
} /* namespace ip */
81
 
} /* namespace network */
82
 
} /* namespace scalestack */
83
 
 
84
 
#endif /* SCALESTACK_NETWORK_IP_COMMON_H */