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
+4 -4
View File
@@ -89,7 +89,7 @@ class DataTypeDescriptor
DataTypeKind kind_; DataTypeKind kind_;
uint16_t id_; uint16_t id_;
DataTypeSignature signature_; DataTypeSignature signature_;
const char* name_; const char* full_name_;
public: public:
enum { MaxDataTypeID = Frame::MaxDataTypeID }; enum { MaxDataTypeID = Frame::MaxDataTypeID };
@@ -97,14 +97,14 @@ public:
DataTypeDescriptor() DataTypeDescriptor()
: kind_(DataTypeKind(0)) : kind_(DataTypeKind(0))
, id_(0) , id_(0)
, name_("") , full_name_("")
{ } { }
DataTypeDescriptor(DataTypeKind kind, uint16_t id, const DataTypeSignature& signature, const char* name) DataTypeDescriptor(DataTypeKind kind, uint16_t id, const DataTypeSignature& signature, const char* name)
: kind_(kind) : kind_(kind)
, id_(id) , id_(id)
, signature_(signature) , signature_(signature)
, name_(name) , full_name_(name)
{ {
assert(id <= MaxDataTypeID); assert(id <= MaxDataTypeID);
assert(kind < NumDataTypeKinds); assert(kind < NumDataTypeKinds);
@@ -114,7 +114,7 @@ public:
DataTypeKind getKind() const { return kind_; } DataTypeKind getKind() const { return kind_; }
uint16_t getID() const { return id_; } uint16_t getID() const { return id_; }
const DataTypeSignature& getSignature() const { return signature_; } 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, const char* name) const;
bool match(DataTypeKind kind, uint16_t id) const; bool match(DataTypeKind kind, uint16_t id) const;
@@ -79,7 +79,7 @@ public:
if (remove_res != RegistResultOk) if (remove_res != RegistResultOk)
return remove_res; 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); return registImpl(&entry);
} }
+3 -3
View File
@@ -41,7 +41,7 @@ TransferCRC DataTypeSignature::toTransferCRC() const
*/ */
bool DataTypeDescriptor::match(DataTypeKind kind, const char* name) 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 bool DataTypeDescriptor::match(DataTypeKind kind, uint16_t id) const
@@ -60,7 +60,7 @@ std::string DataTypeDescriptor::toString() const
} }
std::ostringstream os; 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(); return os.str();
} }
@@ -70,7 +70,7 @@ bool DataTypeDescriptor::operator==(const DataTypeDescriptor& rhs) const
(kind_ == rhs.kind_) && (kind_ == rhs.kind_) &&
(id_ == rhs.id_) && (id_ == rhs.id_) &&
(signature_ == rhs.signature_) && (signature_ == rhs.signature_) &&
!std::strcmp(name_, rhs.name_); !std::strcmp(full_name_, rhs.full_name_);
} }
} }
+2 -2
View File
@@ -52,7 +52,7 @@ GlobalDataTypeRegistry::RegistResult GlobalDataTypeRegistry::remove(Entry* dtd)
while (p) while (p)
{ {
Entry* const next = p->getNextListNode(); 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); list->remove(p);
p = next; p = next;
} }
@@ -79,7 +79,7 @@ GlobalDataTypeRegistry::RegistResult GlobalDataTypeRegistry::registImpl(Entry* d
{ {
if (p->descriptor.getID() == dtd->descriptor.getID()) // ID collision if (p->descriptor.getID() == dtd->descriptor.getID()) // ID collision
return RegistResultCollision; return RegistResultCollision;
if (p->descriptor.match(dtd->descriptor.getName())) // Name collision if (p->descriptor.match(dtd->descriptor.getFullName())) // Name collision
return RegistResultCollision; return RegistResultCollision;
p = p->getNextListNode(); p = p->getNextListNode();
} }
+7 -7
View File
@@ -12,7 +12,7 @@ namespace
enum { DefaultDataTypeID = 0 }; enum { DefaultDataTypeID = 0 };
enum { DataTypeKind = uavcan::DataTypeKindMessage }; enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(123); } 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 struct DataTypeAService
@@ -20,7 +20,7 @@ namespace
enum { DefaultDataTypeID = 0 }; enum { DefaultDataTypeID = 0 };
enum { DataTypeKind = uavcan::DataTypeKindService }; enum { DataTypeKind = uavcan::DataTypeKindService };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(789); } 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 struct DataTypeB
@@ -28,7 +28,7 @@ namespace
enum { DefaultDataTypeID = 42 }; enum { DefaultDataTypeID = 42 };
enum { DataTypeKind = uavcan::DataTypeKindMessage }; enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(456); } 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 struct DataTypeC
@@ -36,7 +36,7 @@ namespace
enum { DefaultDataTypeID = 1023 }; enum { DefaultDataTypeID = 1023 };
enum { DataTypeKind = uavcan::DataTypeKindMessage }; enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(654); } static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(654); }
static const char* getDataTypeName() { return "foo.DataTypeC"; } static const char* getDataTypeFullName() { return "foo.DataTypeC"; }
}; };
struct DataTypeD struct DataTypeD
@@ -44,7 +44,7 @@ namespace
enum { DefaultDataTypeID = 43 }; enum { DefaultDataTypeID = 43 };
enum { DataTypeKind = uavcan::DataTypeKindService }; enum { DataTypeKind = uavcan::DataTypeKindService };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(987); } static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(987); }
static const char* getDataTypeName() { return "foo.DataTypeD"; } static const char* getDataTypeFullName() { return "foo.DataTypeD"; }
}; };
struct DataTypeBNameCollision struct DataTypeBNameCollision
@@ -52,7 +52,7 @@ namespace
enum { DefaultDataTypeID = 999 }; enum { DefaultDataTypeID = 999 };
enum { DataTypeKind = uavcan::DataTypeKindMessage }; enum { DataTypeKind = uavcan::DataTypeKindMessage };
static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(963); } 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) uavcan::DataTypeDescriptor extractDescriptor(uint16_t dtid = Type::DefaultDataTypeID)
{ {
return uavcan::DataTypeDescriptor(uavcan::DataTypeKind(Type::DataTypeKind), dtid, return uavcan::DataTypeDescriptor(uavcan::DataTypeKind(Type::DataTypeKind), dtid,
Type::getDataTypeSignature(), Type::getDataTypeName()); Type::getDataTypeSignature(), Type::getDataTypeFullName());
} }
} }