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 MOCK_GNSS_ABILITY_STUB_H
17 #define MOCK_GNSS_ABILITY_STUB_H
18 #ifdef FEATURE_GNSS_SUPPORT
19 
20 #include "gmock/gmock.h"
21 
22 #include "message_option.h"
23 #include "message_parcel.h"
24 #include "iremote_object.h"
25 #include "iremote_stub.h"
26 
27 #include "constant_definition.h"
28 #define private public
29 #include "gnss_ability_skeleton.h"
30 #undef private
31 #include "location.h"
32 #include "work_record.h"
33 #include "geofence_request.h"
34 
35 namespace OHOS {
36 namespace Location {
37 class MockGnssAbilityStub : public GnssAbilityStub {
38 public:
MockGnssAbilityStub()39     MockGnssAbilityStub() {}
~MockGnssAbilityStub()40     ~MockGnssAbilityStub() {}
41     MOCK_METHOD(void, SendMessage, (uint32_t code, MessageParcel &data, MessageParcel &reply));
42     MOCK_METHOD(LocationErrCode, RefrashRequirements, ());
43     MOCK_METHOD(LocationErrCode, RegisterGnssStatusCallback, (const sptr<IRemoteObject>& callback,
44         AppIdentity &identity));
45     MOCK_METHOD(LocationErrCode, UnregisterGnssStatusCallback, (const sptr<IRemoteObject>& callback));
46     MOCK_METHOD(LocationErrCode, RegisterNmeaMessageCallback, (const sptr<IRemoteObject>& callback,
47         AppIdentity &identity));
48     MOCK_METHOD(LocationErrCode, UnregisterNmeaMessageCallback, (const sptr<IRemoteObject>& callback));
49     MOCK_METHOD(LocationErrCode, RegisterCachedCallback, (const std::unique_ptr<CachedGnssLocationsRequest>& request,
50         const sptr<IRemoteObject>& callback));
51     MOCK_METHOD(LocationErrCode, UnregisterCachedCallback, (const sptr<IRemoteObject>& callback));
52     MOCK_METHOD(LocationErrCode, GetCachedGnssLocationsSize, (int &size));
53     MOCK_METHOD(LocationErrCode, FlushCachedGnssLocations, ());
54     MOCK_METHOD(LocationErrCode, SendCommand, (std::unique_ptr<LocationCommand>& commands));
55     MOCK_METHOD(LocationErrCode, AddFence, (std::shared_ptr<GeofenceRequest>& request));
56     MOCK_METHOD(LocationErrCode, RemoveFence, (std::shared_ptr<GeofenceRequest>& request));
57     MOCK_METHOD(LocationErrCode, SendLocationRequest, (WorkRecord &workrecord));
58     MOCK_METHOD(LocationErrCode, SetEnable, (bool state));
59     MOCK_METHOD(LocationErrCode, EnableMock, ());
60     MOCK_METHOD(LocationErrCode, DisableMock, ());
61     MOCK_METHOD(LocationErrCode, SetMocked, (const int timeInterval,
62         const std::vector<std::shared_ptr<Location>> &location));
63     MOCK_METHOD(bool, CancelIdleState, ());
64     MOCK_METHOD(void, UnloadGnssSystemAbility, ());
65     MOCK_METHOD(LocationErrCode, AddGnssGeofence, (std::shared_ptr<GeofenceRequest>& request));
66     MOCK_METHOD(LocationErrCode, RemoveGnssGeofence, (std::shared_ptr<GeofenceRequest>& request));
67     MOCK_METHOD(LocationErrCode, QuerySupportCoordinateSystemType,
68         (std::vector<CoordinateSystemType>& coordinateSystemTypes));
69     MOCK_METHOD(LocationErrCode, SendNetworkLocation, (const std::unique_ptr<Location>& location));
70 };
71 } // namespace Location
72 } // namespace OHOS
73 #endif // FEATURE_GNSS_SUPPORT
74 #endif // MOCK_GNSS_ABILITY_STUB_H
75