Download this file

DirectoryEntry.cc    125 lines (101 with data), 3.1 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include <DirectoryEntry.h>
/*
DirectoryEntry::DirectoryEntry() :
ipcPath(""), FlowAlloc(NULL)
{
}
DirectoryEntry::DirectoryEntry(APNamingInfo napni, Address naddr, std::string path,
FABase* fa) :
apni(napni),
addr(naddr),
ipcPath(path), FlowAlloc(fa)
{
}
*/
DirectoryEntry::DirectoryEntry(const APN& napn) :
Apn(napn)
{
}
DirectoryEntry::~DirectoryEntry() {
SupportedDifs.clear();
}
std::ostream& operator <<(std::ostream& os, const DirectoryEntry& dte) {
return os << dte.info();
}
std::string DirectoryEntry::info() const {
std::ostringstream os;
os << "APN: " << Apn << ", supported DIFs: ";
for (AddrCItem it = SupportedDifs.begin(); it != SupportedDifs.end(); ++it)
os << "\n DIF: " << it->getDifName() << ", IPCaddress: " << it->getIpcAddress();
return os.str();
}
const APN& DirectoryEntry::getApn() const {
return Apn;
}
void DirectoryEntry::setApn(const APN& apn) {
Apn = apn;
}
const Addresses& DirectoryEntry::getSupportedDifs() const {
return SupportedDifs;
}
void DirectoryEntry::setSupportedDifs(const Addresses& supportedDifs) {
SupportedDifs = supportedDifs;
}
bool DirectoryEntry::hasDif(const Address& member) {
for (AddrCItem it = SupportedDifs.begin(); it != SupportedDifs.end(); ++it) {
if (*it == member)
return true;
}
return false;
}
void DirectoryEntry::addDif(const Address& member) {
SupportedDifs.push_back(member);
}
bool DirectoryEntry::operator ==(const DirectoryEntry& other) const {
return Apn == other.Apn && SupportedDifs == other.SupportedDifs;
}
/*
const APNamingInfo& DirectoryEntry::getApni() const {
return apni;
}
void DirectoryEntry::setApni(const APNamingInfo& apni) {
this->apni = apni;
}
FABase* DirectoryEntry::getFlowAlloc() const {
return FlowAlloc;
}
void DirectoryEntry::setFlowAlloc(FABase* flowAlloc) {
FlowAlloc = flowAlloc;
}
const std::string& DirectoryEntry::getIpcPath() const {
return ipcPath;
}
void DirectoryEntry::setIpcPath(const std::string& ipcPath) {
this->ipcPath = ipcPath;
}
*/
/*
const Address& DirectoryEntry::getAddr() const {
return addr;
}
void DirectoryEntry::setAddr(const Address& addr) {
this->addr = addr;
}
cModule* DirectoryEntry::getIpc() {
return getFlowAlloc() ? getFlowAlloc()->getParentModule()->getParentModule() : NULL;
}
*/