ComparatorLibs: Add stringify to hierarchy for easy printing

This commit is contained in:
2026-06-10 22:43:39 -04:00
parent 549f0c04f4
commit 82b99e680c
10 changed files with 91 additions and 7 deletions
+10
View File
@@ -3,6 +3,8 @@
#include <cstdint> #include <cstdint>
#include <memory> #include <memory>
#include <sstream>
#include <string>
#include <mentalEntity.h> #include <mentalEntity.h>
#include <user/logic.h> #include <user/logic.h>
@@ -43,6 +45,14 @@ struct ComparatorTypeId
{ {
return !(*this == other); return !(*this == other);
} }
std::string stringify() const
{
std::ostringstream result;
result << std::hex << std::showbase;
result << "vendorId=" << vendorId << " typeId=" << typeId;
return result.str();
}
}; };
class Comparator class Comparator
+19
View File
@@ -32,6 +32,11 @@ public:
return true; return true;
} }
std::string stringify() const
{
return name + " (" + typeId.stringify() + ")";
}
public: public:
std::string name; std::string name;
ComparatorTypeId typeId; ComparatorTypeId typeId;
@@ -56,6 +61,20 @@ public:
return true; return true;
} }
std::string stringify() const
{
std::string result = "Name: " + name + "\n";
result += "Exported Comparator Types:\n";
for (size_t i = 0; i < exportedComparatorTypes.size(); ++i)
{
result += " - " + exportedComparatorTypes[i].stringify();
if (i + 1 < exportedComparatorTypes.size()) {
result += "\n";
}
}
return result;
}
public: public:
std::string name; std::string name;
std::vector<ExportedComparatorTypeDesc> exportedComparatorTypes; std::vector<ExportedComparatorTypeDesc> exportedComparatorTypes;
+6 -2
View File
@@ -90,8 +90,12 @@ public:
{ {
std::string result = "Name: " + name + "\n"; std::string result = "Name: " + name + "\n";
result += "Exported QualeIface APIs:\n"; result += "Exported QualeIface APIs:\n";
for (const auto& api : exportedQualeIfaceApis) { for (size_t i = 0; i < exportedQualeIfaceApis.size(); ++i)
result += " - " + api.name + "\n"; {
result += " - " + exportedQualeIfaceApis[i].name;
if (i + 1 < exportedQualeIfaceApis.size()) {
result += "\n";
}
} }
return result; return result;
} }
+15 -2
View File
@@ -50,8 +50,21 @@ BodyViralPostingInvoker<void> Body::initializeCReq()
*/ */
mind.bodyComponentInitialized = true; mind.bodyComponentInitialized = true;
std::cout << stim_buff::StimBuffApiManager::getInstance().stringifyLibs() const std::string comparatorLibs =
<< std::endl; comparator_lib::ComparatorApiManager::getInstance().stringifyLibs();
const std::string stimBuffLibs =
stim_buff::StimBuffApiManager::getInstance().stringifyLibs();
if (!comparatorLibs.empty()) {
std::cout << comparatorLibs;
}
if (!comparatorLibs.empty() && !stimBuffLibs.empty()) {
std::cout << '\n';
}
if (!stimBuffLibs.empty()) {
std::cout << stimBuffLibs;
}
std::cout << std::endl;
if (OptionParser::getOptions().verbose) if (OptionParser::getOptions().verbose)
{ {
@@ -180,5 +180,18 @@ std::unique_ptr<cologex::Comparator> ComparatorApiManager::getNewComparatorInsta
return comparatorType->getNewInstance(); return comparatorType->getNewInstance();
} }
std::string ComparatorApiManager::stringifyLibs() const
{
std::string result;
for (const auto& lib : s.rsrc.libs)
{
if (!result.empty()) {
result += "\n";
}
result += lib->stringify();
}
return result;
}
} // namespace comparator_lib } // namespace comparator_lib
} // namespace smo } // namespace smo
@@ -54,6 +54,8 @@ public:
const std::shared_ptr<cologex::ExportedComparatorTypeDesc>& const std::shared_ptr<cologex::ExportedComparatorTypeDesc>&
comparatorType); comparatorType);
std::string stringifyLibs() const;
public: public:
sscl::SharedResourceGroup<sscl::co::CoQutex, Resources> s; sscl::SharedResourceGroup<sscl::co::CoQutex, Resources> s;
@@ -42,6 +42,15 @@ public:
comparatorLibDesc = desc; comparatorLibDesc = desc;
} }
std::string stringify() const
{
std::string result = "Library Path: "
+ loadedSharedLibrary->libraryPath + "\n";
result += "Comparator Library Descriptor: "
+ comparatorLibDesc.stringify();
return result;
}
public: public:
std::shared_ptr<loadable_lib::LoadableLibraryManager::LoadedSharedLibrary> std::shared_ptr<loadable_lib::LoadableLibraryManager::LoadedSharedLibrary>
loadedSharedLibrary; loadedSharedLibrary;
@@ -42,6 +42,16 @@ public:
{ {
return dlopenHandle.get(); return dlopenHandle.get();
} }
std::string stringify() const
{
std::string result = "Library Path: " + libraryPath + "\n";
result += "Resolved Path: " + resolvedPath + "\n";
result += "Is Being Destroyed: ";
result += (isBeingDestroyed.load() ? "true" : "false");
result += "\n";
return result;
}
}; };
struct Resources struct Resources
@@ -76,7 +76,7 @@ public:
{ {
std::string result = "Library Path: " std::string result = "Library Path: "
+ loadedSharedLibrary->libraryPath + "\n"; + loadedSharedLibrary->libraryPath + "\n";
result += "Stim Buff API Descriptor: " + stimBuffApiDesc.stringify() + "\n"; result += "Stim Buff API Descriptor: " + stimBuffApiDesc.stringify();
return result; return result;
} }
}; };
+6 -2
View File
@@ -245,8 +245,12 @@ void StimBuffApiManager::loadAllStimBuffApiLibsFromOptions(void)
std::string StimBuffApiManager::stringifyLibs() const std::string StimBuffApiManager::stringifyLibs() const
{ {
std::string result; std::string result;
for (const auto& lib : s.rsrc.libs) { for (const auto& lib : s.rsrc.libs)
result += lib->stringify() + "\n"; {
if (!result.empty()) {
result += "\n";
}
result += lib->stringify();
} }
return result; return result;
} }