summaryrefslogtreecommitdiff
path: root/src/freetextsearch-service/FreeTextSearchStubImpl.hpp
blob: a6fbce33db998231787717c7d01b12563ec7841e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
 * @licence app begin@
 * SPDX-License-Identifier: MPL-2.0
 *
 * \copyright Copyright (C) 2015, 2016 TomTom International B.V.
 * \copyright Copyright (C) 2016, PCA Peugeot Citroen
 * \author Peter Goedegebure (Peter.Goedegebure@tomtom.com)
 * \author Philippe Colliot <philippe.colliot@mpsa.com>
 * \author Morteza Damavandpeyma <Morteza.Damavandpeyma@tomtom.com>
 * This Source Code Form is subject to the terms of the
 * Mozilla Public License (MPL), v. 2.0.
 * If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * For further information see http://www.genivi.org/.
 *
 * List of changes:
 * <date>, <name>, <description of change>
 *
 * @licence end@
 */

#ifndef FREETEXTSEARCHSTUBIMPL_H_
#define FREETEXTSEARCHSTUBIMPL_H_

#include <CommonAPI/CommonAPI.hpp>
#include <v4/org/genivi/CommonTypes.hpp>
#include <v4/org/genivi/navigation/NavigationTypes.hpp>
#include <v0/org/genivi/navigation/freetextsearchservice/FreeTextSearch.hpp>
#include <v0/org/genivi/navigation/freetextsearchservice/FreeTextSearchStubDefault.hpp>

using namespace v0::org::genivi::navigation::freetextsearchservice;
using namespace v4::org::genivi::navigation;
using namespace v4::org::genivi;

class FreeTextSearchStubImpl: public FreeTextSearchStubDefault
{

public:
  void getVersion(const std::shared_ptr<CommonAPI::ClientId> _client,
      getVersionReply_t _reply) override;

  void ftsRequest(const std::shared_ptr<CommonAPI::ClientId> _client,
      FreeTextSearch::FtsString _inputString,
      NavigationTypes::Coordinate2D _searchLocation,
      FreeTextSearch::ShapeList _searchShapes,
      FreeTextSearch::PageSize _pageSize,
      FreeTextSearch::SearchOptions _searchOptions,
      FreeTextSearch::FtsString _searchConditions,
      FreeTextSearch::FuzzyLevel _fuzzyLevel, ftsRequestReply_t _reply)
          override;

  void ftsNextPage(const std::shared_ptr<CommonAPI::ClientId> _client,
      NavigationTypes::Handle _sessionHandle,
      FreeTextSearch::SearchOptions _searchOptions, ftsNextPageReply_t _reply)
          override;

  void ftsCancel(const std::shared_ptr<CommonAPI::ClientId> _client,
      NavigationTypes::Handle _sessionHandle, ftsCancelReply_t _reply) override;

  void deleteLocationHandles(const std::shared_ptr<CommonAPI::ClientId> _client,
      FreeTextSearch::LocationHandleList _locationHandleList,
      deleteLocationHandlesReply_t _reply) override;
private:
  NavigationTypes::Handle iSessionHandle = 0;
  FreeTextSearch::PageId iPageId = 0;
  bool iSearchIsInProgress = false;

};

#endif /* FREETEXTSEARCHSTUBIMPL_H_ */