X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/53b27422d140022594fc241cca91c3183be57bca..48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff:/iOS/Pods/Realm/include/impl/object_notifier.hpp?ds=sidebyside diff --git a/iOS/Pods/Realm/include/impl/object_notifier.hpp b/iOS/Pods/Realm/include/impl/object_notifier.hpp new file mode 100644 index 0000000..8ed21d1 --- /dev/null +++ b/iOS/Pods/Realm/include/impl/object_notifier.hpp @@ -0,0 +1,53 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2017 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_OS_OBJECT_NOTIFIER_HPP +#define REALM_OS_OBJECT_NOTIFIER_HPP + +#include "impl/collection_notifier.hpp" + +#include + +namespace realm { +namespace _impl { +class ObjectNotifier : public CollectionNotifier { +public: + ObjectNotifier(Row const& row, std::shared_ptr realm); + +private: + std::unique_ptr m_row; + std::unique_ptr> m_handover; + + // The actual change, calculated in run() and delivered in prepare_handover() + CollectionChangeBuilder m_change; + TransactionChangeInfo* m_info; + + void run() override; + + void do_prepare_handover(SharedGroup&) override; + + void do_attach_to(SharedGroup& sg) override; + void do_detach_from(SharedGroup& sg) override; + + void release_data() noexcept override; + bool do_add_required_change_info(TransactionChangeInfo& info) override; +}; +} +} + +#endif // REALM_OS_OBJECT_NOTIFIER_HPP