DRDE/ACTK1_0/se/EnumDomainUpdateCommand.hpp

50 lines
2.0 KiB
C++

#ifndef __ENUMDOMAINUPDATECOMMAND_HPP
#define __ENUMDOMAINUPDATECOMMAND_HPP
#include "se/DomainUpdateCommand.hpp"
#include "se/NAPTR.hpp"
#include "se/DomainAdd.hpp"
#include "se/DomainRem.hpp"
/**
* Use this to request the update of an ENUM domain object provisioned in an
* EPP Registry. Instances of this class generate RFC 3730, 3731 and 4114-
* compliant ENUM domain update EPP command service elements via the toXML
* method. The response expected from a server should be handled by a Response
* object.
*
* @see Response
*/
class EnumDomainUpdateCommand : public DomainUpdateCommand
{
public:
/**
* Minimal constructor for an ENUM domain update command. No domain add,
* rem or chg elements are generated by instances constructed this way.
*
* @param addNaptrs a set of NAPTR records to be associated with this
* domain which are not already associated with the domain.
*
* @param remNaptrs a set of NAPTR records currently associated with this
* domain to be removed.
*/
EnumDomainUpdateCommand (const std::string &name,
const std::vector<NAPTR> &addNaptrs,
const std::vector<NAPTR> &remNaptrs);
/**
* Verbose constructor for an ENUM domain update command, supporting the
* modification of every atttribute of an ENUM domain.
*/
EnumDomainUpdateCommand (const std::string &name,
const std::string &pw,
const DomainAdd *add,
const DomainRem *rem,
const std::string &registrantID,
const std::vector<NAPTR> &addNaptrs,
const std::vector<NAPTR> &remNaptrs);
private:
void setExtension (const std::vector<NAPTR> &addNaptrs,
const std::vector<NAPTR> &remNapts);
};
#endif // __ENUMDOMAINUPDATECOMMAND_HPP