core: Additional code for ability to generate subset of documentation by utils/print-introspected-doxygen

This commit is contained in:
Alexander Afanasyev committed 2015-08-25 11:08:20 -07:00
1 parent 4da74c6430
commit 2c66f4c020
1 file changed
+56 -50
+56 -50
View File
@@ -843,6 +843,7 @@ typedef struct {
const std::string m_type; //!< The name of the underlying type.
const bool m_seeBase; //!< Print a "see also" pointing to the base class.
const std::string m_header; //!< The header file name.
const std::string m_group; //!< Group name
} AttributeDescriptor;
@@ -879,69 +880,74 @@ PrintAttributeImplementations (std::ostream & os)
{
// Users of ATTRIBUTE_HELPER_HEADER
//
{ "Address", "Address", true, "address.h" },
{ "Box", "Box", true, "box.h" },
{ "DataRate", "DataRate", true, "data-rate.h" },
{ "HtCapabilities", "HtCapabilities", true, "ht-capabilities.h" },
{ "IeMeshId", "IeMeshId", true, "id-dot11s-id.h" },
{ "Ipv4Address", "Ipv4Address", true, "ipv4-address.h" },
{ "Ipv4Mask", "Ipv4Mask", true, "ipv4-address.h" },
{ "Ipv6Address", "Ipv6Address", true, "ipv6-address.h" },
{ "Ipv6Prefix", "Ipv6Prefix", true, "ipv6-address.h" },
{ "Mac16Address", "Mac16Address", true, "mac16-address.h" },
{ "Mac48Address", "Mac48Address", true, "mac48-address.h" },
{ "Mac64Address", "Mac64Address", true, "mac64-address.h" },
{ "ObjectFactory", "ObjectFactory", true, "object-factory.h" },
{ "Address", "Address", true, "address.h", "Network" },
{ "Box", "Box", true, "box.h", "Mobility" },
{ "DataRate", "DataRate", true, "data-rate.h", "Network" },
{ "HtCapabilities", "HtCapabilities", true, "ht-capabilities.h", "Wifi" },
{ "IeMeshId", "IeMeshId", true, "id-dot11s-id.h", "Wifi" },
{ "Ipv4Address", "Ipv4Address", true, "ipv4-address.h", "Network" },
{ "Ipv4Mask", "Ipv4Mask", true, "ipv4-address.h", "Network" },
{ "Ipv6Address", "Ipv6Address", true, "ipv6-address.h", "Network" },
{ "Ipv6Prefix", "Ipv6Prefix", true, "ipv6-address.h", "Network" },
{ "Mac16Address", "Mac16Address", true, "mac16-address.h", "Network" },
{ "Mac48Address", "Mac48Address", true, "mac48-address.h", "Network" },
{ "Mac64Address", "Mac64Address", true, "mac64-address.h", "Network" },
{ "ObjectFactory", "ObjectFactory", true, "object-factory.h", "Core" },
{ "OrganizationIdentifier",
"OrganizationIdentifier",
true, "vendor-specific-action.h" },
{ "Rectangle", "Rectangle", true, "rectangle.h" },
{ "Ssid", "Ssid", true, "ssid.h" },
{ "TypeId", "TypeId", true, "type-id.h" },
{ "UanModesList", "UanModesList", true, "uan-tx-mode.h" },
{ "ValueClassTest", "ValueClassTest", false, "" /* outside ns3 */ },
{ "Vector2D", "Vector2D", true, "vector.h" },
{ "Vector3D", "Vector3D", true, "vector.h" },
{ "Waypoint", "Waypoint", true, "waypoint.h" },
{ "WifiMode", "WifiMode", true, "wifi-mode.h" },
true, "vendor-specific-action.h", "Wave" },
{ "Rectangle", "Rectangle", true, "rectangle.h", "Mobility" },
{ "Ssid", "Ssid", true, "ssid.h", "Wifi" },
{ "TypeId", "TypeId", true, "type-id.h", "Core" },
{ "UanModesList", "UanModesList", true, "uan-tx-mode.h", "Uan" },
{ "ValueClassTest", "ValueClassTest", false, "" /* outside ns3 */, "Core" },
{ "Vector2D", "Vector2D", true, "vector.h", "Core" },
{ "Vector3D", "Vector3D", true, "vector.h", "Core" },
{ "Waypoint", "Waypoint", true, "waypoint.h", "Mobility" },
{ "WifiMode", "WifiMode", true, "wifi-mode.h", "Wifi" },
// All three (Value, Access and Checkers) defined, but custom
{ "Boolean", "Boolean", false, "boolean.h" },
{ "Callback", "Callback", true, "callback.h" },
{ "Double", "double", false, "double.h" },
{ "Enum", "int", false, "enum.h" },
{ "Integer", "int64_t", false, "integer.h" },
{ "Pointer", "Pointer", false, "pointer.h" },
{ "RandomVariable", "RandomVariable", true, "random-variable.h" },
{ "String", "std::string", false, "string.h" },
{ "Time", "Time", true, "nstime.h" },
{ "Uinteger", "uint64_t", false, "uinteger.h" },
{ "", "", false, "last placeholder" }
{ "Boolean", "Boolean", false, "boolean.h", "Core" },
{ "Callback", "Callback", true, "callback.h", "Core" },
{ "Double", "double", false, "double.h", "Core" },
{ "Enum", "int", false, "enum.h", "Core" },
{ "Integer", "int64_t", false, "integer.h", "Core" },
{ "Pointer", "Pointer", false, "pointer.h", "Core" },
{ "RandomVariable", "RandomVariable", true, "random-variable.h", "Core" },
{ "String", "std::string", false, "string.h", "Core" },
{ "Time", "Time", true, "nstime.h", "Core" },
{ "Uinteger", "uint64_t", false, "uinteger.h", "Core" },
{ "", "", false, "last placeholder", "" }
};
int i = 0;
while (attributes[i].m_name != "")
for (size_t i = 0; attributes[i].m_name != ""; ++i)
{
if (!g_showGroupOnly.empty() && attributes[i].m_name != g_showGroupOnly)
{
continue;
}
PrintAttributeHelper (os, attributes[i]);
++i;
}
// Special cases
PrintAttributeValueSection (os, "EmptyAttribute", false);
PrintAttributeValueWithName (os, "EmptyAttribute", "EmptyAttribute",
"attribute.h");
if (!g_showGroupOnly.empty() && g_showGroupOnly == "Core")
{
PrintAttributeValueSection (os, "EmptyAttribute", false);
PrintAttributeValueWithName (os, "EmptyAttribute", "EmptyAttribute",
"attribute.h");
PrintAttributeValueSection (os, "ObjectPtrContainer", false);
PrintAttributeValueWithName (os, "ObjectPtrContainer", "ObjectPtrContainer", "object-ptr-container.h");
PrintMakeChecker (os, "ObjectPtrContainer", "object-ptr-container.h");
PrintAttributeValueSection (os, "ObjectPtrContainer", false);
PrintAttributeValueWithName (os, "ObjectPtrContainer", "ObjectPtrContainer", "object-ptr-container.h");
PrintMakeChecker (os, "ObjectPtrContainer", "object-ptr-container.h");
PrintAttributeValueSection (os, "ObjectVector", false);
PrintMakeAccessors (os, "ObjectVector");
PrintMakeChecker (os, "ObjectVector", "object-vector.h");
PrintAttributeValueSection (os, "ObjectVector", false);
PrintMakeAccessors (os, "ObjectVector");
PrintMakeChecker (os, "ObjectVector", "object-vector.h");
PrintAttributeValueSection (os, "ObjectMap", false);
PrintMakeAccessors (os, "ObjectMap");
PrintMakeChecker (os, "ObjectMap", "object-map.h");
PrintAttributeValueSection (os, "ObjectMap", false);
PrintMakeAccessors (os, "ObjectMap");
PrintMakeChecker (os, "ObjectMap", "object-map.h");
}
} // PrintAttributeImplementations ()