1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef DISTRIBUTEDDATAMGR_OBJECT_DATA_LISTENER_H
17 #define DISTRIBUTEDDATAMGR_OBJECT_DATA_LISTENER_H
18 
19 #include "kv_store_observer.h"
20 #include "asset/asset_recv_callback_stub.h"
21 namespace OHOS {
22 namespace DistributedObject {
23 using AssetObj = Storage::DistributedFile::AssetObj;
24 class ObjectDataListener : public DistributedDB::KvStoreObserver {
25 public:
26     ObjectDataListener();
27     ~ObjectDataListener();
28     // Database change callback
29     void OnChange(const DistributedDB::KvStoreChangedData &data) override;
30 };
31 
32 class ObjectAssetsRecvListener : public Storage::DistributedFile::AssetRecvCallbackStub {
33 public:
34     ObjectAssetsRecvListener() =default;
35     ~ObjectAssetsRecvListener() =default;
36     int32_t OnStart(const std::string &srcNetworkId,
37                   const std::string &dstNetworkId, const std::string &sessionId,
38                   const std::string &dstBundleName) override;
39     int32_t OnFinished(const std::string &srcNetworkId,
40                      const sptr<AssetObj> &assetObj, int32_t result) override;
41 };
42 }  // namespace DistributedObject
43 }  // namespace OHOS
44 #endif // DISTRIBUTEDDATAMGR_OBJECT_DATA_LISTENER_H
45