Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'iphone/Maps/Classes/MWMPlacePageData.h')
-rw-r--r--iphone/Maps/Classes/MWMPlacePageData.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/iphone/Maps/Classes/MWMPlacePageData.h b/iphone/Maps/Classes/MWMPlacePageData.h
new file mode 100644
index 0000000000..4496f1df43
--- /dev/null
+++ b/iphone/Maps/Classes/MWMPlacePageData.h
@@ -0,0 +1,103 @@
+#include "map/place_page_info.hpp"
+
+#include "std/vector.hpp"
+
+namespace place_page
+{
+enum class Sections
+{
+ Preview,
+ Bookmark,
+ Metainfo,
+ Buttons
+};
+
+enum class MetainfoRows
+{
+ OpeningHours,
+ Phone,
+ Address,
+ Website,
+ Email,
+ Cuisine,
+ Operator,
+ Internet,
+ Coordinate
+};
+
+enum class ButtonsRows
+{
+ AddBusiness,
+ EditPlace,
+ AddPlace,
+ HotelDescription
+};
+
+enum class OpeningHours
+{
+ AllDay,
+ Open,
+ Closed,
+ Unknown
+};
+
+} // namespace place_page_data
+
+/// ViewModel for place page.
+@interface MWMPlacePageData : NSObject
+
+// ready callback will be called from main queue.
+- (instancetype)initWithPlacePageInfo:(place_page::Info const &)info;
+
+- (void)updateBookmarkStatus:(BOOL)isBookmark;
+
+/// Country id for changing place page's fields which depend on application state.
+- (storage::TCountryId const &)countryId;
+- (FeatureID const &)featureId;
+
+// Regular
+- (NSString *)title;
+- (NSString *)subtitle;
+- (place_page::OpeningHours)schedule;
+- (NSString *)address;
+
+// Booking
+- (NSString *)bookingRating;
+- (NSString *)bookingApproximatePricing;
+- (NSURL *)bookingURL;
+- (NSURL *)bookingDescriptionURL;
+- (NSString *)hotelId;
+- (void)assignOnlinePriceToLabel:(UILabel *)label;
+
+// API
+- (NSString *)apiURL;
+
+// Bookmark
+- (NSString *)externalTitle;
+- (NSString *)bookmarkColor;
+- (NSString *)bookmarkDescription;
+- (NSString *)bookmarkCategory;
+- (BookmarkAndCategory)bac;
+
+// Table view's data
+- (vector<place_page::Sections> const &)sections;
+- (vector<place_page::MetainfoRows> const &)metainfoRows;
+- (vector<place_page::ButtonsRows> const &)buttonsRows;
+
+// Table view metainfo rows
+- (NSString *)stringForRow:(place_page::MetainfoRows)row;
+
+// Helpers
+- (NSString *)phoneNumber;
+- (BOOL)isBookmark;
+- (BOOL)isApi;
+- (BOOL)isBooking;
+- (BOOL)isHTMLDescription;
+- (BOOL)isMyPosition;
+
+// Coordinates
+- (m2::PointD const &)mercator;
+- (ms::LatLon)latLon;
++ (void)toggleCoordinateSystem;
+
+@end