DRDE/ACTK1_0/se/secDNS/SecDNSDSOrKeyType.hpp

45 lines
1.2 KiB
C++

#ifndef SECDNSDSORKEYTYPE_HPP_
#define SECDNSDSORKEYTYPE_HPP_
#include <vector>
#include <tr1/memory>
#include "xercesc/dom/DOMElement.hpp"
#include "xml/XMLWriter.hpp"
#include "SecDNSMaxSigLifeType.hpp"
#include "SecDNSKeyData.hpp"
#include "SecDNSDSData.hpp"
class SecDNSDSOrKeyType
{
public:
SecDNSDSOrKeyType() :
maxSigLife(NULL),
dsDataList(),
keyDataList()
{}
virtual ~SecDNSDSOrKeyType() {};
void setMaxSigLife(SecDNSMaxSigLifeType* maxSigLife);
void addToDSData(SecDNSDSData* dsData);
void addToKeyData(SecDNSKeyData* keyData);
int getDSDataListSize();
std::tr1::shared_ptr<const SecDNSDSData> getDSData(int index) const;
std::tr1::shared_ptr<SecDNSDSData> getDSData(int index);
int getKeyDataListSize();
std::tr1::shared_ptr<const SecDNSKeyData> getKeyData(int index) const;
std::tr1::shared_ptr<SecDNSKeyData> getKeyData(int index);
void createXMLElement(XMLWriter* xmlWriter, DOMElement* addElement);
private:
std::auto_ptr<SecDNSMaxSigLifeType> maxSigLife;
std::vector<std::tr1::shared_ptr<SecDNSDSData> > dsDataList;
std::vector<std::tr1::shared_ptr<SecDNSKeyData> > keyDataList;
};
#endif /* SECDNSDSORKEYTYPE_HPP_ */