21class OksXmlOutputStream;
22class OksXmlInputStream;
111 void set_body(
const std::string& body);
185 OksMethod(
const std::string& name,
const std::string& description,
OksClass * p =
nullptr);
209 void set_name(
const std::string& name);
259 void add_implementation(
const std::string& language,
const std::string& prototype,
const std::string& body);
Provides interface to the OKS kernel.
OKS method implementation class.
const std::string & get_body() const noexcept
OksMethodImplementation(const std::string &language, const std::string &prototype, const std::string &body, OksMethod *p=nullptr)
OKS method implementation constructor.
friend std::ostream & operator<<(std::ostream &, const OksMethodImplementation &)
const std::string & get_language() const noexcept
void set_prototype(const std::string &prototype)
Set method implementation prototype.
const std::string & get_prototype() const noexcept
void set_language(const std::string &language)
Set method implementation language.
bool operator==(const class OksMethodImplementation &) const
static const char prototype_xml_attr[]
void save(OksXmlOutputStream &) const
static const char language_xml_attr[]
void set_body(const std::string &body)
Set method implementation body.
static const char body_xml_attr[]
static const char method_impl_xml_tag[]
void set_name(const std::string &name)
Set method name.
const std::string & get_description() const noexcept
static const char name_xml_attr[]
static const char description_xml_attr[]
static const char method_xml_tag[]
const std::list< OksMethodImplementation * > * implementations() const noexcept
void set_description(const std::string &description)
Set method description.
friend std::ostream & operator<<(std::ostream &, const OksMethod &)
void add_implementation(const std::string &language, const std::string &prototype, const std::string &body)
Add method implementation.
void remove_implementation(const std::string &language)
Remove method implementation.
bool operator==(const class OksMethod &) const
OksMethodImplementation * find_implementation(const std::string &language) const
Find method implementation.
std::list< OksMethodImplementation * > * p_implementations
void save(OksXmlOutputStream &) const
const std::string & get_name() const noexcept
std::string p_description
OksMethod(const std::string &name, OksClass *p=nullptr)
OKS method constructor.