2 * Copyright(c) 2022 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.Collections.Generic;
21 using System.Reflection;
23 using Tizen.NUI.Binding;
24 using Tizen.NUI.EXaml.Build.Tasks;
27 namespace Tizen.NUI.EXaml
29 internal abstract class EXamlOperation
31 public EXamlOperation(EXamlContext eXamlContext)
33 this.eXamlContext = eXamlContext;
36 internal EXamlContext eXamlContext;
38 internal static void WriteOpertions(string filePath, EXamlContext eXamlContext)
40 var ret = eXamlContext.GenerateEXamlString();
41 if(string.IsNullOrEmpty(filePath))
43 throw new Exception("filePath is empty or null!");
45 /*Avoid the difference of '/' in file path on windows and linux*/
46 filePath = filePath.Replace("\\", "/");
47 if (filePath.Contains("/"))
49 OutputDir = filePath.Substring(0, filePath.LastIndexOf("/"));
51 if (!Directory.Exists(OutputDir))
53 Directory.CreateDirectory(OutputDir);
56 var stream = File.CreateText(filePath);
61 public static string OutputDir
67 internal abstract string Write();