IBR-DTNSuite
0.10
Main Page
Namespaces
Classes
Files
File List
File Members
vinterface.h
Go to the documentation of this file.
1
/*
2
* vinterface.h
3
*
4
* Copyright (C) 2011 IBR, TU Braunschweig
5
*
6
* Written-by: Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
7
*
8
* Licensed under the Apache License, Version 2.0 (the "License");
9
* you may not use this file except in compliance with the License.
10
* You may obtain a copy of the License at
11
*
12
* http://www.apache.org/licenses/LICENSE-2.0
13
*
14
* Unless required by applicable law or agreed to in writing, software
15
* distributed under the License is distributed on an "AS IS" BASIS,
16
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
* See the License for the specific language governing permissions and
18
* limitations under the License.
19
*
20
*/
21
22
#ifndef VINTERFACE_H_
23
#define VINTERFACE_H_
24
25
#include "
ibrcommon/net/vaddress.h
"
26
27
#include <list>
28
#include <string>
29
#include <stdint.h>
30
31
namespace
ibrcommon
32
{
33
class
LinkManagerEvent;
34
35
class
vinterface
36
{
37
public
:
38
class
interface_not_set
:
public
Exception
39
{
40
public
:
41
interface_not_set
(
string
error
=
"interface is not specified"
) :
Exception
(
error
)
42
{};
43
};
44
45
const
static
std::string
LOOPBACK
;
46
const
static
std::string
ANY
;
47
48
vinterface
();
49
vinterface
(std::string name);
50
virtual
~vinterface
();
51
52
bool
isLoopback
()
const
;
53
bool
isAny
()
const
;
54
55
uint32_t
getIndex
()
const
;
56
const
std::list<vaddress>
getAddresses
(
const
std::string &scope =
""
)
const
;
57
const
std::string
toString
()
const
;
58
bool
empty
()
const
;
59
bool
up
()
const
;
60
61
bool
operator<
(
const
vinterface
&obj)
const
;
62
bool
operator==
(
const
vinterface
&obj)
const
;
63
bool
operator!=
(
const
vinterface
&obj)
const
;
64
65
void
eventNotify
(
const
LinkManagerEvent &evt);
66
67
private
:
68
std::string _name;
69
};
70
}
71
72
#endif
/* VINTERFACE_H_ */
ibrcommon
ibrcommon
net
vinterface.h
Generated on Mon Jul 22 2013 15:16:00 for IBR-DTNSuite by
1.8.3.1