25 const boost::shared_ptr<LibraryManagerCollection>& lmcoll)
26 : lm_collection_(lmcoll), arguments_(), context_collection_(),
27 manager_(manager), server_hooks_(
ServerHooks::getServerHooks()),
28 current_library_(-1), current_hook_(-1), next_step_(NEXT_STEP_CONTINUE) {
46 context_collection_.clear();
67 for (
auto const& i : arguments_) {
68 names.push_back(i.first);
76 return (boost::make_shared<ParkingLotHandle>(server_hooks_.
getParkingLotPtr(current_hook_)));
84CalloutHandle::getContextForLibrary() {
87 return (context_collection_[current_library_]);
94CalloutHandle::getContextForLibrary()
const {
95 auto libcontext = context_collection_.find(current_library_);
96 if (libcontext == context_collection_.end()) {
97 isc_throw(NoSuchCalloutContext,
"unable to find callout context "
98 "associated with the current library index (" << current_library_ <<
103 return (libcontext->second);
111 vector<string> names;
113 for (
auto const& i : elements) {
114 names.push_back(i.first);
128 hook = server_hooks_.
getName(current_hook_);
140 : callout_handle_(callout_handle) {
141 if (!callout_handle_) {
157ScopedCalloutHandleState::resetState() {
160 callout_handle_->deleteAllArguments();
A generic exception that is thrown if a parameter given to a method is considered invalid in that con...
@ NEXT_STEP_CONTINUE
continue normally
ParkingLotHandlePtr getParkingLotHandlePtr() const
Returns pointer to the parking lot handle for this hook point.
std::string getHookName() const
Get hook name.
std::map< std::string, boost::any > ElementCollection
Typedef to allow abbreviation of iterator specification in methods.
~CalloutHandle()
Destructor.
std::vector< std::string > getContextNames() const
Get context names.
CalloutHandle(const boost::shared_ptr< CalloutManager > &manager, const boost::shared_ptr< LibraryManagerCollection > &lmcoll=boost::shared_ptr< LibraryManagerCollection >())
Constructor.
std::vector< std::string > getArgumentNames() const
Get argument names.
ScopedCalloutHandleState(const CalloutHandlePtr &callout_handle)
Constructor.
std::function< void()> on_completion_
Continuation callback.
~ScopedCalloutHandleState()
Destructor.
ParkingLotPtr getParkingLotPtr(const int hook_index)
Returns pointer to the ParkingLot for the specified hook index.
static const int CONTEXT_DESTROY
static const int CONTEXT_CREATE
Index numbers for pre-defined hooks.
std::string getName(int index) const
Get hook name.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
boost::shared_ptr< ParkingLotHandle > ParkingLotHandlePtr
Pointer to the parking lot handle.
boost::shared_ptr< CalloutHandle > CalloutHandlePtr
A shared pointer to a CalloutHandle object.
Defines the logger used by the top-level component of kea-lfc.