diff --git a/Tribufu.sln b/Tribufu.sln index a32fcda..3cbe010 100644 --- a/Tribufu.sln +++ b/Tribufu.sln @@ -1,12 +1,16 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Sdk", "src\Tribufu.Sdk\Tribufu.Sdk.csproj", "{C66D6B57-324D-EAF2-3B65-75C9A7C35054}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Native", "src\Tribufu.Native\Tribufu.Native.csproj", "{C66D6B57-324D-EAF2-3B65-75C9A7C35054}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Serialization", "src\Tribufu.Serialization\Tribufu.Serialization.csproj", "{322FE36B-9E9B-9E66-678F-36C4D3BAC0CE}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Serialization.Newtonsoft", "src\Tribufu.Serialization.Newtonsoft\Tribufu.Serialization.Newtonsoft.csproj", "{B7019B7B-A352-86BD-CCB6-747FB8661927}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu", "src\Tribufu\Tribufu.csproj", "{7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Utils", "src\Tribufu.Utils\Tribufu.Utils.csproj", "{8F16FBBB-199E-4EE3-BFF3-31DD6F84DCD0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -25,6 +29,14 @@ Global {B7019B7B-A352-86BD-CCB6-747FB8661927}.Debug|Any CPU.Build.0 = Debug|Any CPU {B7019B7B-A352-86BD-CCB6-747FB8661927}.Release|Any CPU.ActiveCfg = Release|Any CPU {B7019B7B-A352-86BD-CCB6-747FB8661927}.Release|Any CPU.Build.0 = Release|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|Any CPU.Build.0 = Release|Any CPU + {8F16FBBB-199E-4EE3-BFF3-31DD6F84DCD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8F16FBBB-199E-4EE3-BFF3-31DD6F84DCD0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8F16FBBB-199E-4EE3-BFF3-31DD6F84DCD0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8F16FBBB-199E-4EE3-BFF3-31DD6F84DCD0}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Tribufu.Sdk/README.md b/src/Tribufu.Native/README.md similarity index 100% rename from src/Tribufu.Sdk/README.md rename to src/Tribufu.Native/README.md diff --git a/src/Tribufu.Native/Tribufu.Native.csproj b/src/Tribufu.Native/Tribufu.Native.csproj new file mode 100644 index 0000000..9026066 --- /dev/null +++ b/src/Tribufu.Native/Tribufu.Native.csproj @@ -0,0 +1,28 @@ + + + Tribufu.Native + 0.1.0 + Tribufu Native Interop + Tribufu + Tribufu + README.md + MIT + Copyright (c) Tribufu. All Rights Reserved. + git + https://github.com/Tribufu/TribufuNet + + + Library + Properties + netstandard2.0;net45;net5.0 + true + + + + + + + + + + diff --git a/src/Tribufu.Native/TribufuNative.cs b/src/Tribufu.Native/TribufuNative.cs new file mode 100644 index 0000000..d17a9ff --- /dev/null +++ b/src/Tribufu.Native/TribufuNative.cs @@ -0,0 +1,13 @@ +// Copyright (c) Tribufu. All Rights Reserved. +// SPDX-License-Identifier: MIT + +using System.Runtime.InteropServices; + +namespace Tribufu.Native +{ + public class TribufuNative + { + [DllImport("tribufu_sdk")] + public static extern void tribufu_sdk_shutdown(); + } +} diff --git a/src/Tribufu.Utils/README.md b/src/Tribufu.Utils/README.md new file mode 100644 index 0000000..54c1ab5 --- /dev/null +++ b/src/Tribufu.Utils/README.md @@ -0,0 +1 @@ +# Tribufu diff --git a/src/Tribufu.Utils/Tribufu.Utils.csproj b/src/Tribufu.Utils/Tribufu.Utils.csproj new file mode 100644 index 0000000..21cab74 --- /dev/null +++ b/src/Tribufu.Utils/Tribufu.Utils.csproj @@ -0,0 +1,25 @@ + + + Tribufu.Utils + 0.1.0 + Tribufu Utils + Tribufu + Tribufu + README.md + MIT + Copyright (c) Tribufu. All Rights Reserved. + git + https://github.com/Tribufu/TribufuNet + + + Library + Properties + net5.0 + true + + + + + + + diff --git a/src/Tribufu.Utils/TribufuAppContext.cs b/src/Tribufu.Utils/TribufuAppContext.cs new file mode 100644 index 0000000..c8a9ac4 --- /dev/null +++ b/src/Tribufu.Utils/TribufuAppContext.cs @@ -0,0 +1,79 @@ +// Copyright (c) Tribufu. All Rights Reserved. +// SPDX-License-Identifier: MIT + +using System; +using System.IO; +using System.Runtime.InteropServices; + +namespace Tribufu.Utils +{ + public static class TribufuAppContext + { + public static string GetBaseDirectory() + { + string defaultBaseDirectory = AppContext.BaseDirectory; + string baseDirectory; + + if (defaultBaseDirectory.Contains("Debug") || defaultBaseDirectory.Contains("Release")) + { + baseDirectory = Path.Combine(defaultBaseDirectory, "..", "..", "..", "..", ".."); + } + else + { + baseDirectory = Path.Combine(defaultBaseDirectory, "..", ".."); + } + + baseDirectory = Path.GetFullPath(baseDirectory); + + return baseDirectory; + } + + public static string GetBinDirectory() + { + var binDirectory = Path.Combine(GetBaseDirectory(), "bin"); + + switch (RuntimeInformation.RuntimeIdentifier) + { + case "win-x64": + binDirectory = Path.Combine(binDirectory, "windows-x86_64"); + break; + case "osx-x64": + binDirectory = Path.Combine(binDirectory, "mac-x86_64"); + break; + case "linux-x64": + binDirectory = Path.Combine(binDirectory, "linux-x86_64"); + break; + default: + binDirectory = Path.Combine(binDirectory, "dotnet"); + break; + } + + return binDirectory; + } + + public static string GetConfigDirectory() + { + return Path.Combine(GetBaseDirectory(), "config"); + } + + public static string GetAssetsDirectory() + { + return Path.Combine(GetBaseDirectory(), "assets"); + } + + public static string GetSavedDirectory() + { + return Path.Combine(GetBaseDirectory(), "saved"); + } + + public static string GetCacheDirectory() + { + return Path.Combine(GetSavedDirectory(), "cache"); + } + + public static string GetLogsDirectory() + { + return Path.Combine(GetSavedDirectory(), "logs"); + } + } +} diff --git a/src/Tribufu/README.md b/src/Tribufu/README.md new file mode 100644 index 0000000..54c1ab5 --- /dev/null +++ b/src/Tribufu/README.md @@ -0,0 +1 @@ +# Tribufu diff --git a/src/Tribufu.Sdk/Tribufu.Sdk.csproj b/src/Tribufu/Tribufu.csproj similarity index 89% rename from src/Tribufu.Sdk/Tribufu.Sdk.csproj rename to src/Tribufu/Tribufu.csproj index 7ccc69b..78943fd 100644 --- a/src/Tribufu.Sdk/Tribufu.Sdk.csproj +++ b/src/Tribufu/Tribufu.csproj @@ -17,6 +17,9 @@ netstandard2.0;net45;net5.0 true + + + diff --git a/vendor/windows-aarch64/tribufu_sdk.dll b/vendor/windows-aarch64/tribufu_sdk.dll new file mode 100644 index 0000000..11fd96a Binary files /dev/null and b/vendor/windows-aarch64/tribufu_sdk.dll differ diff --git a/vendor/windows-i686/tribufu_sdk.dll b/vendor/windows-i686/tribufu_sdk.dll new file mode 100644 index 0000000..a0b5a82 Binary files /dev/null and b/vendor/windows-i686/tribufu_sdk.dll differ diff --git a/vendor/windows-x86_64/tribufu_sdk.dll b/vendor/windows-x86_64/tribufu_sdk.dll new file mode 100644 index 0000000..f16e71b Binary files /dev/null and b/vendor/windows-x86_64/tribufu_sdk.dll differ