X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/53b27422d140022594fc241cca91c3183be57bca..48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff:/iOS/Pods/Realm/include/impl/transact_log_handler.hpp?ds=sidebyside diff --git a/iOS/Pods/Realm/include/impl/transact_log_handler.hpp b/iOS/Pods/Realm/include/impl/transact_log_handler.hpp new file mode 100644 index 0000000..14d8233 --- /dev/null +++ b/iOS/Pods/Realm/include/impl/transact_log_handler.hpp @@ -0,0 +1,60 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2015 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef REALM_TRANSACT_LOG_HANDLER_HPP +#define REALM_TRANSACT_LOG_HANDLER_HPP + +#include +#include + +#include + +namespace realm { +class BindingContext; +class SharedGroup; + +namespace _impl { +class NotifierPackage; +struct TransactionChangeInfo; + +namespace transaction { +// Advance the read transaction version, with change notifications sent to delegate +// Must not be called from within a write transaction. +void advance(const std::unique_ptr& sg, BindingContext* binding_context, NotifierPackage&); +void advance(SharedGroup& sg, BindingContext* binding_context, VersionID); + +// Begin a write transaction +// If the read transaction version is not up to date, will first advance to the +// most recent read transaction and sent notifications to delegate +void begin(const std::unique_ptr& sg, BindingContext* binding_context, NotifierPackage&); +void begin_without_validation(SharedGroup& sg); + +// Commit a write transaction +void commit(SharedGroup& sg); + +// Cancel a write transaction and roll back all changes, with change notifications +// for reverting to the old values sent to delegate +void cancel(SharedGroup& sg, BindingContext* binding_context); + +// Advance the read transaction version, with change information gathered in info +void advance(SharedGroup& sg, TransactionChangeInfo& info, VersionID version=VersionID{}); +} // namespace transaction +} // namespace _impl +} // namespace realm + +#endif /* REALM_TRANSACT_LOG_HANDLER_HPP */