70 lines
1.7 KiB
C++
70 lines
1.7 KiB
C++
|
#include "se/StandardObjectType.hpp"
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
vector<const EnumType *> StandardObjectType::values;
|
||
|
vector<string> StandardObjectType::stdURIs;
|
||
|
|
||
|
const StandardObjectType* StandardObjectType::DOMAIN()
|
||
|
{
|
||
|
static StandardObjectType obj(
|
||
|
"domain",
|
||
|
"urn:ietf:params:xml:ns:domain-1.0",
|
||
|
"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd",
|
||
|
"name");
|
||
|
return &obj;
|
||
|
}
|
||
|
|
||
|
const StandardObjectType* StandardObjectType::HOST()
|
||
|
{
|
||
|
static StandardObjectType obj(
|
||
|
"host",
|
||
|
"urn:ietf:params:xml:ns:host-1.0",
|
||
|
"urn:ietf:params:xml:ns:host-1.0 host-1.0.xsd",
|
||
|
"name");
|
||
|
return &obj;
|
||
|
}
|
||
|
|
||
|
const StandardObjectType* StandardObjectType::CONTACT()
|
||
|
{
|
||
|
static StandardObjectType obj(
|
||
|
"contact",
|
||
|
"urn:ietf:params:xml:ns:contact-1.0",
|
||
|
"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd",
|
||
|
"id");
|
||
|
return &obj;
|
||
|
}
|
||
|
|
||
|
StandardObjectType::StandardObjectType(const string& name,
|
||
|
const string& uri,
|
||
|
const string& schemaLocation,
|
||
|
const string& identType)
|
||
|
: EnumType(values, name, uri, schemaLocation, identType)
|
||
|
{ }
|
||
|
|
||
|
const StandardObjectType* StandardObjectType::value(const string &name)
|
||
|
{
|
||
|
return (const StandardObjectType *)EnumType::value (name, values);
|
||
|
}
|
||
|
|
||
|
|
||
|
const vector<string>& StandardObjectType::getStandardURIs()
|
||
|
{
|
||
|
if (stdURIs.size() == 0)
|
||
|
{
|
||
|
stdURIs.push_back(DOMAIN()->getURI());
|
||
|
stdURIs.push_back(HOST()->getURI());
|
||
|
stdURIs.push_back(CONTACT()->getURI());
|
||
|
}
|
||
|
|
||
|
return stdURIs;
|
||
|
}
|
||
|
|
||
|
void StandardObjectType::init()
|
||
|
{
|
||
|
getStandardURIs();
|
||
|
DOMAIN();
|
||
|
HOST();
|
||
|
CONTACT();
|
||
|
}
|