Commit dd4a388c authored by JINMEI Tatuya's avatar JINMEI Tatuya
Browse files

declared/defined DNSProtocolError in separate files as these would be

used in other places than the message class.


git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1337 e5f2f494-b856-4b98-b285-d166d9295462
parent 57a3fa54
......@@ -10,6 +10,7 @@ BUILT_SOURCES = rrclass.h rrtype.h rrparamregistry.cc
lib_LTLIBRARIES = libdns.la
libdns_la_SOURCES = buffer.h name.cc name.h messagerenderer.h messagerenderer.cc
libdns_la_SOURCES += exceptions.h exceptions.cc
libdns_la_SOURCES += rrparamregistry.h rrparamregistry.cc
libdns_la_SOURCES += rrclass.h rrclass.cc rrtype.h rrtype.cc rrttl.h rrttl.cc
libdns_la_SOURCES += rdata.h rdata.cc
......
// Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
// $Id$
#include "exceptions.h"
#include "message.h"
namespace isc {
namespace dns {
const Rcode&
DNSMessageFORMERR::getRcode() const {
return (Rcode::FORMERR());
}
const Rcode&
DNSMessageBADVERS::getRcode() const {
return (Rcode::BADVERS());
}
} // end of namespace dns
} // end of namespace isc
// Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
// $Id$
// XXX: we have another exceptions.h, so we need to use a prefix "DNS_" in
// the include guard. More preferably, we should define a consistent naming
// style for the header guide (e.g. module-name_file-name_H) throughout the
// package.
#ifndef __DNS_EXCEPTIONS_H
#define __DNS_EXCEPTIONS_H 1
#include <exceptions/exceptions.h>
namespace isc {
namespace dns {
///
/// \brief A standard DNS module exception ...[TBD]
///
class Rcode; // forward declaration
class DNSProtocolError : public isc::Exception {
public:
DNSProtocolError(const char* file, size_t line, const char* what) :
isc::Exception(file, line, what) {}
virtual const Rcode& getRcode() const = 0;
};
class DNSMessageFORMERR : public DNSProtocolError {
public:
DNSMessageFORMERR(const char* file, size_t line, const char* what) :
DNSProtocolError(file, line, what) {}
virtual const Rcode& getRcode() const;
};
class DNSMessageBADVERS : public DNSProtocolError {
public:
DNSMessageBADVERS(const char* file, size_t line, const char* what) :
DNSProtocolError(file, line, what) {}
virtual const Rcode& getRcode() const;
};
}
}
#endif // __DNS_EXCEPTIONS_H
// Local Variables:
// mode: c++
// End:
......@@ -27,6 +27,7 @@
#include <exceptions/exceptions.h>
#include "buffer.h"
#include "exceptions.h"
#include "message.h"
#include "messagerenderer.h"
#include "name.h"
......@@ -153,16 +154,6 @@ static const char *opcodetext[] = {
};
}
const Rcode&
DNSMessageFORMERR::getRcode() const {
return (Rcode::FORMERR());
}
const Rcode&
DNSMessageBADVERS::getRcode() const {
return (Rcode::BADVERS());
}
string
Opcode::toText() const
{
......
......@@ -27,32 +27,6 @@
namespace isc {
namespace dns {
///
/// \brief A standard DNS module exception ...[TBD]
///
class Rcode; // forward declaration
class DNSProtocolError : public Exception {
public:
DNSProtocolError(const char* file, size_t line, const char* what) :
isc::Exception(file, line, what) {}
virtual const Rcode& getRcode() const = 0;
};
class DNSMessageFORMERR : public DNSProtocolError {
public:
DNSMessageFORMERR(const char* file, size_t line, const char* what) :
DNSProtocolError(file, line, what) {}
virtual const Rcode& getRcode() const;
};
class DNSMessageBADVERS : public DNSProtocolError {
public:
DNSMessageBADVERS(const char* file, size_t line, const char* what) :
DNSProtocolError(file, line, what) {}
virtual const Rcode& getRcode() const;
};
///
/// \brief A standard DNS module exception ...[TBD]
///
......
......@@ -17,6 +17,7 @@
#include <exceptions/exceptions.h>
#include <dns/buffer.h>
#include <dns/exceptions.h>
#include <dns/message.h>
#include <dns/messagerenderer.h>
#include <dns/question.h>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment