name --> full_name

This commit is contained in:
Pavel Kirienko 2014-02-28 14:26:13 +04:00
parent 1c1e1b1fb9
commit 2e79b92aee
5 changed files with 17 additions and 17 deletions

View File

@ -89,7 +89,7 @@ class DataTypeDescriptor
DataTypeKind kind_;
uint16_t id_;
DataTypeSignature signature_;
const char* name_;
const char* full_name_;
public:
enum { MaxDataTypeID = Frame::MaxDataTypeID };
@ -97,14 +97,14 @@ public:
DataTypeDescriptor()
: kind_(DataTypeKind(0))
, id_(0)
, name_("")
, full_name_("")
{ }
DataTypeDescriptor(DataTypeKind kind, uint16_t id, const DataTypeSignature& signature, const char* name)
: kind_(kind)
, id_(id)
, signature_(signature)
, name_(name)
, full_name_(name)
{
assert(id <= MaxDataTypeID);
assert(kind < NumDataTypeKinds);
@ -114,7 +114,7 @@ public:
DataTypeKind getKind() const { return kind_; }
uint16_t getID() const { return id_; }
const DataTypeSignature& getSignature() const { return signature_; }
const char* getName() const { return name_; }
const char* getFullName() const { return full_name_; }
bool match(DataTypeKind kind, const char* name) const;
bool match(DataTypeKind kind, uint16_t id) const;

View File

@ -79,7 +79,7 @@ public:
if (remove_res != RegistResultOk)
return remove_res;
entry = Entry(DataTypeKind(Type::DataTypeKind), id, Type::getDataTypeSignature(), Type::getDataTypeName());
entry = Entry(DataTypeKind(Type::DataTypeKind), id, Type::getDataTypeSignature(), Type::getDataTypeFullName());
return registImpl(&entry);
}

View File

@ -41,7 +41,7 @@ TransferCRC DataTypeSignature::toTransferCRC() const
*/
bool DataTypeDescriptor::match(DataTypeKind kind, const char* name) const
{
return (kind_ == kind) && !std::strcmp(name_, name);
return (kind_ == kind) && !std::strcmp(full_name_, name);
}
bool DataTypeDescriptor::match(DataTypeKind kind, uint16_t id) const
@ -60,7 +60,7 @@ std::string DataTypeDescriptor::toString() const
}
std::ostringstream os;
os << name_ << ":" << id_ << kindch << ":" << std::hex << std::setfill('0') << std::setw(16) << signature_.get();
os << full_name_ << ":" << id_ << kindch << ":" << std::hex << std::setfill('0') << std::setw(16) << signature_.get();
return os.str();
}
@ -70,7 +70,7 @@ bool DataTypeDescriptor::operator==(const DataTypeDescriptor& rhs) const
(kind_ == rhs.kind_) &&
(id_ == rhs.id_) &&
(signature_ == rhs.signature_) &&
!std::strcmp(name_, rhs.name_);
!std::strcmp(full_name_, rhs.full_name_);
}
}

View File

@ -52,7 +52,7 @@ GlobalDataTypeRegistry::RegistResult GlobalDataTypeRegistry::remove(Entry* dtd)
while (p)
{
Entry* const next = p->getNextListNode();
if (p->descriptor.match(dtd->descriptor.getKind(), dtd->descriptor.getName()))
if (p->descriptor.match(dtd->descriptor.getKind(), dtd->descriptor.getFullName()))
list->remove(p);
p = next;
}
@ -79,7 +79,7 @@ GlobalDataTypeRegistry::RegistResult GlobalDataTypeRegistry::registImpl(Entry* d
{
if (p->descriptor.getID() == dtd->descriptor.getID()) // ID collision
return RegistResultCollision;
if (p->descriptor.match(dtd->descriptor.getName())) // Name collision
if (p->descriptor.match(dtd->descriptor.getFullName())) // Name collision
return RegistResultCollision;
p = p->getNextListNode();
}

View File

@ -12,7 +12,7 @@ namespace
enum { DefaultDataTypeID = 0 };
enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(123); }
static const char* getDataTypeName() { return "my_namespace.DataTypeA"; }
static const char* getDataTypeFullName() { return "my_namespace.DataTypeA"; }
};
struct DataTypeAService
@ -20,7 +20,7 @@ namespace
enum { DefaultDataTypeID = 0 };
enum { DataTypeKind = uavcan::DataTypeKindService };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(789); }
static const char* getDataTypeName() { return "my_namespace.DataTypeA"; }
static const char* getDataTypeFullName() { return "my_namespace.DataTypeA"; }
};
struct DataTypeB
@ -28,7 +28,7 @@ namespace
enum { DefaultDataTypeID = 42 };
enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(456); }
static const char* getDataTypeName() { return "my_namespace.DataTypeB"; }
static const char* getDataTypeFullName() { return "my_namespace.DataTypeB"; }
};
struct DataTypeC
@ -36,7 +36,7 @@ namespace
enum { DefaultDataTypeID = 1023 };
enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(654); }
static const char* getDataTypeName() { return "foo.DataTypeC"; }
static const char* getDataTypeFullName() { return "foo.DataTypeC"; }
};
struct DataTypeD
@ -44,7 +44,7 @@ namespace
enum { DefaultDataTypeID = 43 };
enum { DataTypeKind = uavcan::DataTypeKindService };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(987); }
static const char* getDataTypeName() { return "foo.DataTypeD"; }
static const char* getDataTypeFullName() { return "foo.DataTypeD"; }
};
struct DataTypeBNameCollision
@ -52,7 +52,7 @@ namespace
enum { DefaultDataTypeID = 999 };
enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(963); }
static const char* getDataTypeName() { return "my_namespace.DataTypeB"; }
static const char* getDataTypeFullName() { return "my_namespace.DataTypeB"; }
};
@ -60,7 +60,7 @@ namespace
uavcan::DataTypeDescriptor extractDescriptor(uint16_t dtid = Type::DefaultDataTypeID)
{
return uavcan::DataTypeDescriptor(uavcan::DataTypeKind(Type::DataTypeKind), dtid,
Type::getDataTypeSignature(), Type::getDataTypeName());
Type::getDataTypeSignature(), Type::getDataTypeFullName());
}
}