blob: 352e4145671d2e53a64eb406ac2bffb3ddc62b8c [file] [log] [blame]
//----------------------------------------------------------------------------
//
// Copyright (C) Red Hat, Inc., 2015.
//
// File: WsmanFilter.cpp
//
// License: BSD-3-Clause
//
// Contents: A C++ interface for filter_t
//
//----------------------------------------------------------------------------
#include "WsmanEPR.h"
using namespace WsmanClientNamespace;
WsmanEPR::WsmanEPR(const string &eprstring)
: epr(epr_from_string(eprstring.c_str()))
{
}
WsmanEPR::WsmanEPR(const string &uri, const string &address)
: epr(epr_create(uri.c_str(), NULL, address.c_str()))
{
}
WsmanEPR::WsmanEPR(WsmanEPR &epr)
: epr(epr_copy(epr.getepr()))
{
}
WsmanEPR::~WsmanEPR()
{
if (epr) {
epr_destroy(epr);
epr = NULL;
}
}
int WsmanEPR::addTextSelector(const string &name, const string &value)
{
return epr_add_selector_text(epr, name.c_str(), value.c_str());
}
int WsmanEPR::addEprSelector(const string &name, WsmanEPR &epr)
{
return epr_add_selector_epr(epr, name.c_str(), epr.getepr());
}
int WsmanEPR::deleteSelector(const string &name)
{
return epr_delete_selector(epr, name.c_str());
}
bool WsmanEPR::operator==(const WsmanEPR &rhs) const
{
return epr_cmp(epr, rhs.epr) == 0;
}
bool WsmanEPR::operator!=(const WsmanEPR &rhs) const
{
return !(*this == rhs);
}
epr_t *WsmanEPR::getepr() const
{
return epr;
}
WsmanEPR::operator epr_t*() const
{
return getepr();
}