Kea 2.7.5
nc_remove.h
Go to the documentation of this file.
1// Copyright (C) 2013-2024 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef NC_REMOVE_H
8#define NC_REMOVE_H
9
11
12#include <d2srv/nc_trans.h>
13
14namespace isc {
15namespace d2 {
16
19public:
20 NameRemoveTransactionError(const char* file, size_t line,
21 const char* what) :
22 isc::Exception(file, line, what) { }
23};
24
52public:
53
55
57
60
64
66
68
69
84 DdnsDomainPtr& forward_domain,
85 DdnsDomainPtr& reverse_domain,
86 D2CfgMgrPtr& cfg_mgr);
87
89 virtual ~NameRemoveTransaction();
90
91protected:
98 virtual void defineEvents();
99
107 virtual void verifyEvents();
108
115 virtual void defineStates();
116
124 virtual void verifyStates();
125
146 void readyHandler();
147
170
194
237
289
331
347
367
384
404
421};
422
424typedef boost::shared_ptr<NameRemoveTransaction> NameRemoveTransactionPtr;
425
426
427} // namespace isc::d2
428} // namespace isc
429#endif
This is a base class for exceptions thrown from the DNS library module.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
Embodies the "life-cycle" required to carry out a DDNS update.
Definition nc_trans.h:77
static const int NCT_DERIVED_STATE_MIN
Value at which custom states in a derived class should begin.
Definition nc_trans.h:108
Thrown if the NameRemoveTransaction encounters a general error.
Definition nc_remove.h:18
NameRemoveTransactionError(const char *file, size_t line, const char *what)
Definition nc_remove.h:20
Embodies the "life-cycle" required to carry out a DDNS Remove update.
Definition nc_remove.h:51
virtual void verifyStates()
Validates the contents of the set of states.
Definition nc_remove.cc:111
virtual void defineEvents()
Adds events defined by NameRemoveTransaction to the event set.
Definition nc_remove.cc:45
void processRemoveOkHandler()
State handler for PROCESS_TRANS_OK_ST.
Definition nc_remove.cc:578
void readyHandler()
State handler for READY_ST.
Definition nc_remove.cc:128
void buildRemoveRevPtrsRequest()
Builds a DNS request to remove a reverse DNS entry for a FQDN.
Definition nc_remove.cc:694
virtual void verifyEvents()
Validates the contents of the set of events.
Definition nc_remove.cc:55
void selectingRevServerHandler()
State handler for SELECTING_REV_SERVER_ST.
Definition nc_remove.cc:427
void removingFwdAddrsHandler()
State handler for REMOVING_FWD_ADDRS_ST.
Definition nc_remove.cc:176
static const int REMOVING_REV_PTRS_ST
State that attempts to remove reverse PTR records.
Definition nc_remove.h:62
virtual void defineStates()
Adds states defined by NameRemoveTransaction to the state set.
Definition nc_remove.cc:73
void removingRevPtrsHandler()
State handler for REMOVING_REV_PTRS_ST.
Definition nc_remove.cc:456
NameRemoveTransaction(asiolink::IOServicePtr &io_service, dhcp_ddns::NameChangeRequestPtr &ncr, DdnsDomainPtr &forward_domain, DdnsDomainPtr &reverse_domain, D2CfgMgrPtr &cfg_mgr)
Event sent when replace attempt to fails with address not in use.
Definition nc_remove.cc:28
void removingFwdRRsHandler()
State handler for REMOVING_FWD_RRS_ST.
Definition nc_remove.cc:291
static const int REMOVING_FWD_RRS_ST
State that attempts to remove any other forward RRs for the DHCID.
Definition nc_remove.h:59
void selectingFwdServerHandler()
State handler for SELECTING_FWD_SERVER_ST.
Definition nc_remove.cc:148
void buildRemoveFwdAddressRequest()
Builds a DNS request to remove a forward DNS address for a FQDN.
Definition nc_remove.cc:614
void buildRemoveFwdRRsRequest()
Builds a DNS request to remove all forward DNS RRs for a FQDN.
Definition nc_remove.cc:646
virtual ~NameRemoveTransaction()
Destructor.
Definition nc_remove.cc:41
void processRemoveFailedHandler()
State handler for PROCESS_TRANS_FAILED_ST.
Definition nc_remove.cc:595
static const int REMOVING_FWD_ADDRS_ST
State that attempts to remove specific forward address record.
Definition nc_remove.h:56
boost::shared_ptr< DdnsDomain > DdnsDomainPtr
Defines a pointer for DdnsDomain instances.
Definition d2_config.h:624
boost::shared_ptr< D2CfgMgr > D2CfgMgrPtr
Defines a shared pointer to D2CfgMgr.
Definition d2_cfg_mgr.h:367
boost::shared_ptr< NameRemoveTransaction > NameRemoveTransactionPtr
Defines a pointer to a NameRemoveTransaction.
Definition nc_remove.h:424
boost::shared_ptr< NameChangeRequest > NameChangeRequestPtr
Defines a pointer to a NameChangeRequest.
Definition ncr_msg.h:241
Defines the logger used by the top-level component of kea-lfc.
This file defines the class NameChangeTransaction.