[Camera] Add Camera feature check code 65/165765/1
authorHaesu Gwon <haesu.gwon@samsung.com>
Thu, 4 Jan 2018 00:45:36 +0000 (09:45 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Thu, 4 Jan 2018 00:45:36 +0000 (09:45 +0900)
Change-Id: I8222b683843b6509d29a81099fd0a2c6b9decf3f
Signed-off-by: Haesu Gwon <haesu.gwon@samsung.com>
src/Tizen.Multimedia.Camera/Camera/Camera.cs
src/Tizen.Multimedia.Camera/Camera/CameraFeatures.cs [new file with mode: 0644]

index 9d7dc54..a7aa019 100644 (file)
@@ -48,10 +48,16 @@ namespace Tizen.Multimedia
         /// <summary>
         /// Initializes a new instance of the <see cref="Camera"/> class.
         /// </summary>
+        /// <feature>http://tizen.org/feature/camera</feature>
         /// <since_tizen> 3 </since_tizen>
         /// <param name="device">The camera device to access.</param>
         public Camera(CameraDevice device)
         {
+            if (!Features.IsSupported(CameraFeatures.Camera))
+            {
+                throw new NotSupportedException("Camera feature is not supported.");
+            }
+
             CameraErrorFactory.ThrowIfError(Native.Create(device, out _handle),
                 "Failed to create camera instance");
 
diff --git a/src/Tizen.Multimedia.Camera/Camera/CameraFeatures.cs b/src/Tizen.Multimedia.Camera/Camera/CameraFeatures.cs
new file mode 100644 (file)
index 0000000..e626a1a
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+namespace Tizen.Multimedia
+{
+    internal static class CameraFeatures
+    {
+        internal const string Camera = "http://tizen.org/feature/camera";
+    }
+}