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_link_object_get_id")]
23 internal static extern ErrorCode GetId(this PlaceLinkObjectHandle /* maps_place_link_object_h */ link, out string id);
25 [DllImport(Libraries.MapService, EntryPoint = "maps_place_link_object_get_name")]
26 internal static extern ErrorCode GetName(this PlaceLinkObjectHandle /* maps_place_link_object_h */ link, out string name);
28 [DllImport(Libraries.MapService, EntryPoint = "maps_place_link_object_get_string")]
29 internal static extern ErrorCode GetLink(this PlaceLinkObjectHandle /* maps_place_link_object_h */ link, out string linkString);
31 [DllImport(Libraries.MapService, EntryPoint = "maps_place_link_object_get_type")]
32 internal static extern ErrorCode GetType(this PlaceLinkObjectHandle /* maps_place_link_object_h */ link, out string type);
34 internal class PlaceLinkObjectHandle : SafeMapsHandle
36 [DllImport(Libraries.MapService, EntryPoint = "maps_place_link_object_destroy")]
37 internal static extern ErrorCode Destroy(IntPtr /* maps_place_link_object_h */ link);
41 get { return NativeGet(this.GetId); }
46 get { return NativeGet(this.GetName); }
51 get { return NativeGet(this.GetLink); }
56 get { return NativeGet(this.GetType); }
59 public PlaceLinkObjectHandle(IntPtr handle, bool needToRelease) : base(handle, needToRelease, Destroy)
63 internal static PlaceLinkObjectHandle Create(IntPtr nativeHandle)
65 return new PlaceLinkObjectHandle(nativeHandle, true);