2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 using System.Runtime.InteropServices;
20 internal static partial class Interop
22 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_get_id")]
23 internal static extern ErrorCode GetId(this PlaceImageHandle /* maps_place_image_h */ image, out string id);
25 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_get_url")]
26 internal static extern ErrorCode GetUrl(this PlaceImageHandle /* maps_place_image_h */ image, out string url);
28 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_get_width")]
29 internal static extern ErrorCode GetWidth(this PlaceImageHandle /* maps_place_image_h */ image, out int width);
31 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_get_height")]
32 internal static extern ErrorCode GetHeight(this PlaceImageHandle /* maps_place_image_h */ image, out int height);
34 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_get_user_link")]
35 internal static extern ErrorCode GetUserLink(this PlaceImageHandle /* maps_place_image_h */ image, out IntPtr /* maps_place_link_object_h */ user);
37 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_get_media")]
38 internal static extern ErrorCode GetMedia(this PlaceImageHandle /* maps_place_image_h */ image, out IntPtr /* maps_place_media_h */ media);
40 internal class PlaceImageHandle : SafeMapsHandle
42 [DllImport(Libraries.MapService, EntryPoint = "maps_place_image_destroy")]
43 internal static extern ErrorCode Destroy(IntPtr /* maps_place_image_h */ image);
47 get { return NativeGet(this.GetId); }
52 get { return NativeGet(this.GetUrl); }
57 get { return NativeGet<int>(this.GetWidth); }
62 get { return NativeGet<int>(this.GetHeight); }
65 internal PlaceLinkObjectHandle User
67 get { return NativeGet(this.GetUserLink, PlaceLinkObjectHandle.Create); }
70 internal PlaceMediaHandle Media
72 get { return NativeGet(this.GetMedia, PlaceMediaHandle.Create); }
75 public PlaceImageHandle(IntPtr handle, bool needToRelease) : base(handle, needToRelease, Destroy)