Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
JDATABASE::JMACAddress Struct Reference

MAC address. More...

#include <JMACAddress.hh>

Inheritance diagram for JDATABASE::JMACAddress:
std::vector< unsigned char > JLANG::JEquals< JFirst_t, JSecond_t >

Public Types

enum  { NUMBER_OF_BYTES = 6 }
 

Public Member Functions

 JMACAddress ()
 Default constructor. More...
 
bool equal (const JMACAddress &address) const
 Equal method. More...
 
 ClassDefNV (JMACAddress, 1)
 

Static Public Member Functions

static const char * get_separator ()
 Get list of allowed separators. More...
 
static bool is_separator (const int c)
 Check if given character is an allowed separator. More...
 

Friends

std::istream & operator>> (std::istream &in, JMACAddress &object)
 Read MAC address from input stream. More...
 
std::ostream & operator<< (std::ostream &out, const JMACAddress &object)
 Write MAC address to output stream. More...
 

Detailed Description

MAC address.

Definition at line 27 of file JMACAddress.hh.

Member Enumeration Documentation

anonymous enum
Enumerator
NUMBER_OF_BYTES 

number of bytes

Definition at line 31 of file JMACAddress.hh.

31  {
32  NUMBER_OF_BYTES = 6 //!< number of bytes
33  };

Constructor & Destructor Documentation

JDATABASE::JMACAddress::JMACAddress ( )
inline

Default constructor.

Definition at line 70 of file JMACAddress.hh.

Member Function Documentation

static const char* JDATABASE::JMACAddress::get_separator ( )
inlinestatic

Get list of allowed separators.

Returns
allowed separators

Definition at line 41 of file JMACAddress.hh.

42  {
43  return ":.-";
44  }
static bool JDATABASE::JMACAddress::is_separator ( const int  c)
inlinestatic

Check if given character is an allowed separator.

Parameters
ccharacter
Returns
true if separator; else false

Definition at line 53 of file JMACAddress.hh.

54  {
55  const std::string buffer(JMACAddress::get_separator());
56 
57  for (std::string::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
58  if ((int) *i == c) {
59  return true;
60  }
61  }
62 
63  return false;
64  }
static const char * get_separator()
Get list of allowed separators.
Definition: JMACAddress.hh:41
bool JDATABASE::JMACAddress::equal ( const JMACAddress address) const
inline

Equal method.

Parameters
addressMAC address
Returns
true if this MAC address and given MAC address are equal; else false

Definition at line 81 of file JMACAddress.hh.

82  {
83  for (int i = 0; i != NUMBER_OF_BYTES; ++i) {
84  if ((*this)[i] != address[i]) {
85  return false;
86  }
87  }
88 
89  return true;
90  }
JDATABASE::JMACAddress::ClassDefNV ( JMACAddress  ,
 
)

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JMACAddress object 
)
friend

Read MAC address from input stream.

Parameters
ininput stream
objectMAC address
Returns
input stream

Definition at line 100 of file JMACAddress.hh.

101  {
102  using namespace std;
103 
104  object = JMACAddress();
105 
106  int c;
107 
108  if (in >> hex >> c) {
109 
110  object[0] = (unsigned char) c;
111 
112  for (int i = 1; i != NUMBER_OF_BYTES; ++i) {
113  if (is_separator(in.get()) && in >> hex >> c)
114  object[i] = (unsigned char) c;
115  else
116  in.setstate(ios::failbit);
117  }
118  }
119 
120  return in >> dec;
121  }
JMACAddress()
Default constructor.
Definition: JMACAddress.hh:70
static bool is_separator(const int c)
Check if given character is an allowed separator.
Definition: JMACAddress.hh:53
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
std::ostream& operator<< ( std::ostream &  out,
const JMACAddress object 
)
friend

Write MAC address to output stream.

Parameters
outoutput stream
objectMAC address
Returns
output stream

Definition at line 132 of file JMACAddress.hh.

133  {
134  using namespace std;
135 
136  out << setw(2) << setfill('0') << hex << (int) object[0];
137 
138  for (int i = 1; i != NUMBER_OF_BYTES; ++i) {
139  out << setw(1) << JMACAddress::get_separator()[0]
140  << setw(2) << setfill('0') << hex << (int) object[i];
141  }
142 
143  return out << setfill(' ') << dec;
144  }
static const char * get_separator()
Get list of allowed separators.
Definition: JMACAddress.hh:41

The documentation for this struct was generated from the following file: