1e0dac50fSopenharmony_ci/*
2e0dac50fSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License.
5e0dac50fSopenharmony_ci * You may obtain a copy of the License at
6e0dac50fSopenharmony_ci *
7e0dac50fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e0dac50fSopenharmony_ci *
9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and
13e0dac50fSopenharmony_ci * limitations under the License.
14e0dac50fSopenharmony_ci */
15e0dac50fSopenharmony_ci
16e0dac50fSopenharmony_ci#ifndef OHOS_ROSEN_TEST_COMMON_MOCK_IREMOTE_OBJECT_MOCKER
17e0dac50fSopenharmony_ci#define OHOS_ROSEN_TEST_COMMON_MOCK_IREMOTE_OBJECT_MOCKER
18e0dac50fSopenharmony_ci
19e0dac50fSopenharmony_ci#include <iremote_object.h>
20e0dac50fSopenharmony_ci
21e0dac50fSopenharmony_cinamespace OHOS {
22e0dac50fSopenharmony_cinamespace Rosen {
23e0dac50fSopenharmony_ciclass IRemoteObjectMocker : public IRemoteObject {
24e0dac50fSopenharmony_cipublic:
25e0dac50fSopenharmony_ci    IRemoteObjectMocker() : IRemoteObject {u"IRemoteObjectMocker"}
26e0dac50fSopenharmony_ci    {
27e0dac50fSopenharmony_ci    }
28e0dac50fSopenharmony_ci
29e0dac50fSopenharmony_ci    ~IRemoteObjectMocker()
30e0dac50fSopenharmony_ci    {
31e0dac50fSopenharmony_ci    }
32e0dac50fSopenharmony_ci
33e0dac50fSopenharmony_ci    int32_t GetObjectRefCount()
34e0dac50fSopenharmony_ci    {
35e0dac50fSopenharmony_ci        return 0;
36e0dac50fSopenharmony_ci    }
37e0dac50fSopenharmony_ci
38e0dac50fSopenharmony_ci    int SendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
39e0dac50fSopenharmony_ci    {
40e0dac50fSopenharmony_ci        return 0;
41e0dac50fSopenharmony_ci    }
42e0dac50fSopenharmony_ci
43e0dac50fSopenharmony_ci    bool IsProxyObject() const
44e0dac50fSopenharmony_ci    {
45e0dac50fSopenharmony_ci        return true;
46e0dac50fSopenharmony_ci    }
47e0dac50fSopenharmony_ci
48e0dac50fSopenharmony_ci    bool CheckObjectLegality() const
49e0dac50fSopenharmony_ci    {
50e0dac50fSopenharmony_ci        return true;
51e0dac50fSopenharmony_ci    }
52e0dac50fSopenharmony_ci
53e0dac50fSopenharmony_ci    bool AddDeathRecipient(const sptr<DeathRecipient>& recipient)
54e0dac50fSopenharmony_ci    {
55e0dac50fSopenharmony_ci        return true;
56e0dac50fSopenharmony_ci    }
57e0dac50fSopenharmony_ci
58e0dac50fSopenharmony_ci    bool RemoveDeathRecipient(const sptr<DeathRecipient>& recipient)
59e0dac50fSopenharmony_ci    {
60e0dac50fSopenharmony_ci        return true;
61e0dac50fSopenharmony_ci    }
62e0dac50fSopenharmony_ci
63e0dac50fSopenharmony_ci    sptr<IRemoteBroker> AsInterface()
64e0dac50fSopenharmony_ci    {
65e0dac50fSopenharmony_ci        return nullptr;
66e0dac50fSopenharmony_ci    }
67e0dac50fSopenharmony_ci
68e0dac50fSopenharmony_ci    int Dump(int fd, const std::vector<std::u16string>& args)
69e0dac50fSopenharmony_ci    {
70e0dac50fSopenharmony_ci        return 0;
71e0dac50fSopenharmony_ci    }
72e0dac50fSopenharmony_ci};
73e0dac50fSopenharmony_ciclass MockIRemoteObject : public IRemoteObject {
74e0dac50fSopenharmony_cipublic:
75e0dac50fSopenharmony_ci    MockIRemoteObject() : IRemoteObject {u"MockIRemoteObject"}
76e0dac50fSopenharmony_ci    {
77e0dac50fSopenharmony_ci    }
78e0dac50fSopenharmony_ci
79e0dac50fSopenharmony_ci    ~MockIRemoteObject()
80e0dac50fSopenharmony_ci    {
81e0dac50fSopenharmony_ci    }
82e0dac50fSopenharmony_ci
83e0dac50fSopenharmony_ci    int32_t GetObjectRefCount()
84e0dac50fSopenharmony_ci    {
85e0dac50fSopenharmony_ci        return 0;
86e0dac50fSopenharmony_ci    }
87e0dac50fSopenharmony_ci
88e0dac50fSopenharmony_ci    int SendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
89e0dac50fSopenharmony_ci    {
90e0dac50fSopenharmony_ci        return sendRequestResult_;
91e0dac50fSopenharmony_ci    }
92e0dac50fSopenharmony_ci
93e0dac50fSopenharmony_ci    bool IsProxyObject() const
94e0dac50fSopenharmony_ci    {
95e0dac50fSopenharmony_ci        return true;
96e0dac50fSopenharmony_ci    }
97e0dac50fSopenharmony_ci
98e0dac50fSopenharmony_ci    bool CheckObjectLegality() const
99e0dac50fSopenharmony_ci    {
100e0dac50fSopenharmony_ci        return true;
101e0dac50fSopenharmony_ci    }
102e0dac50fSopenharmony_ci
103e0dac50fSopenharmony_ci    bool AddDeathRecipient(const sptr<DeathRecipient>& recipient)
104e0dac50fSopenharmony_ci    {
105e0dac50fSopenharmony_ci        return true;
106e0dac50fSopenharmony_ci    }
107e0dac50fSopenharmony_ci
108e0dac50fSopenharmony_ci    bool RemoveDeathRecipient(const sptr<DeathRecipient>& recipient)
109e0dac50fSopenharmony_ci    {
110e0dac50fSopenharmony_ci        return true;
111e0dac50fSopenharmony_ci    }
112e0dac50fSopenharmony_ci
113e0dac50fSopenharmony_ci    sptr<IRemoteBroker> AsInterface()
114e0dac50fSopenharmony_ci    {
115e0dac50fSopenharmony_ci        return nullptr;
116e0dac50fSopenharmony_ci    }
117e0dac50fSopenharmony_ci
118e0dac50fSopenharmony_ci    int Dump(int fd, const std::vector<std::u16string>& args)
119e0dac50fSopenharmony_ci    {
120e0dac50fSopenharmony_ci        return 0;
121e0dac50fSopenharmony_ci    }
122e0dac50fSopenharmony_ci
123e0dac50fSopenharmony_ci    void SetRequestResult(int result)
124e0dac50fSopenharmony_ci    {
125e0dac50fSopenharmony_ci        sendRequestResult_ = result;
126e0dac50fSopenharmony_ci    }
127e0dac50fSopenharmony_ci
128e0dac50fSopenharmony_ci    int sendRequestResult_ = 0;
129e0dac50fSopenharmony_ci    int count_ = 0;
130e0dac50fSopenharmony_ci};
131e0dac50fSopenharmony_ci}
132e0dac50fSopenharmony_ci}
133e0dac50fSopenharmony_ci
134e0dac50fSopenharmony_ci#endif