2 * Copyright(c) 2018 Samsung Electronics Co., Ltd.
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.
19 using System.Diagnostics;
23 //This version should be updated and synced for every Dali native release
24 internal static class Version
26 //from dali_1.3.23 : NUI internal API version 501
27 //from dali_1.3.28 : NUI internal API version 502
28 //from dali_1.3.34 : NUI internal API version 503
29 //from dali_1.3.41 : NUI internal API version 504
30 //from dali_1.3.48 : NUI internal API version 505
31 public const int nuiAPIVer = 505;
32 public const int reservedVer1 = 0;
33 public const int reservedVer2 = 0;
35 [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_NativeVersionCheck")]
36 public static extern bool NativeVersionCheck(ref int ver1, ref int ver2, ref int ver3);
38 [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_NUI_InternalAPIVersionCheck")]
39 public static extern bool InternalAPIVersionCheck(ref int ver1, ref int ver2, ref int ver3);
41 static internal bool DaliVersionMatchWithNUI()
49 if (InternalAPIVersionCheck(ref ver1, ref ver2, ref ver3) == true)
51 if (ver1 != nuiAPIVer)
53 NUILog.Error($"NUI API version mismatch error! NUI API Version: ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
54 throw new System.InvalidOperationException($"NUI API version mismatch error! NUI API version should be ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
59 NUILog.Error($"NUI API version mismatch error! NUI API Version: ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
60 throw new System.InvalidOperationException($"NUI API version mismatch error! NUI API version should be ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
65 NUILog.Error($"NUI API version mismatch error! NUI API Version: ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
66 throw new System.InvalidOperationException($"NUI API version mismatch error! NUI API version should be ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
69 PrintDaliNativeVersion();
73 //[Conditional("DEBUG_ON")]
74 static internal void PrintDaliNativeVersion()
80 NativeVersionCheck(ref ver1, ref ver2, ref ver3);
81 //NUILog.Debug($"DALi Version: ({ver1}.{ver2}.{ver3}), NUI API Version: ({nuiAPIVer})");
82 NUILog.Error($"NOT Error! Just Showing DALi Version: ({ver1}.{ver2}.{ver3}), NUI API Version: ({nuiAPIVer})");