mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-28 11:33:34 +08:00
name --> full_name
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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_);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user