[my-place] Refactoring: Code separation.
[platform/core/context/context-provider.git] / src / my-place / utils / Gmap.h
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef _CONTEXT_PLACE_RECOGNITION_GMAP_H_
18 #define _CONTEXT_PLACE_RECOGNITION_GMAP_H_
19
20 #include "../facade/UserPlacesTypes.h"
21
22 #define GMAP_FILE "/tmp/user_places_map.html"
23
24 namespace ctx {
25
26         /*
27          * Class for generating a HTML page with GoogleMaps with all user places.
28          * This class is for test/demo purposes only. TODO: Remove this class from final solution.
29          */
30         class Gmap {
31
32         private:
33                 static const std::string __HTML_HEADER;
34                 static const std::string __HTML_FOOTER;
35                 static std::string __iconForCategId(PlaceCategId categId);
36                 static void __placeMarker2Stream(const Place& place, std::ostream& out);
37                 static void __html2Stream(const std::vector<std::shared_ptr<Place>>& places, std::ostream& out);
38
39         public:
40                 static void writeMap(const std::vector<std::shared_ptr<Place>>& places);
41
42         };      /* class Gmap */
43
44 }       /* namespace ctx */
45
46 #endif /* End of _CONTEXT_PLACE_RECOGNITION_GMAP_H_ */