Loading...
Searching...
No Matches
UpdateOptionsInterface.qc.dox.h
// -*- mode: c++; indent-tabs-mode: nil -*-
// Qore UpdateOptionsInterface class definition
/* UpdateOptionsInterface.qc Copyright 2016 - 2024 Qore Technologies, s.r.o.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
namespace ConnectionProvider {
class UpdateOptionsInterface : public Qore::Serializable {
public:
protected:
transient *code update_options;
transient LoggerInterface postpone_update_options_logger;
transient bool postpone_update_options;
transient *hash<auto> pending_options;
public:
setUpdateOptionsCode(*code update_options);
postponeUpdateOptions(*LoggerInterface logger);
flushOptionUpdates();
protected:
doUpdateOptions(*LoggerInterface logger, hash<auto> new_opts);
public:
};
};
ConnectionProvider::UpdateOptionsInterface
Interface class inherited by connection classes that declare the AbstractConnection::CF_UPDATE_OPTION...
Definition UpdateOptionsInterface.qc.dox.h:30
ConnectionProvider::UpdateOptionsInterface::flushOptionUpdates
flushOptionUpdates()
Set update options calls to no longer be postponed.
ConnectionProvider::UpdateOptionsInterface::postpone_update_options_logger
transient LoggerInterface postpone_update_options_logger
Logger when postponing update options calls.
Definition UpdateOptionsInterface.qc.dox.h:41
ConnectionProvider::UpdateOptionsInterface::update_options
transient *code update_options
Closure or call reference to be called when connection options should be automatically updated.
Definition UpdateOptionsInterface.qc.dox.h:38
ConnectionProvider::UpdateOptionsInterface::setUpdateOptionsCode
setUpdateOptionsCode(*code update_options)
Can be called to set or clear a closure or call reference to be called when options are automatically...
ConnectionProvider::UpdateOptionsInterface::postpone_update_options
transient bool postpone_update_options
Flag to postpone update options calls.
Definition UpdateOptionsInterface.qc.dox.h:44
ConnectionProvider::UpdateOptionsInterface::pending_options
transient *hash< auto > pending_options
Storage for postponed options to update.
Definition UpdateOptionsInterface.qc.dox.h:47
ConnectionProvider::UpdateOptionsInterface::doUpdateOptions
doUpdateOptions(*LoggerInterface logger, hash< auto > new_opts)
Performs the option update in the external system.
ConnectionProvider::UpdateOptionsInterface::postponeUpdateOptions
postponeUpdateOptions(*LoggerInterface logger)
Set update options calls to be postponed.
ConnectionProvider
The ConnectionProvider namespace.
Definition AbstractConnection.qc.dox.h:28