80 lines
1.5 KiB
C++
80 lines
1.5 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// 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::operator=(const WsmanEPR &other)
|
|
{
|
|
epr = epr_copy(other.getepr());
|
|
return *this;
|
|
}
|
|
|
|
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();
|
|
}
|