Fork alnilam headers

This commit is contained in:
Guilherme Werner
2023-12-03 13:09:34 -03:00
parent 807289bef0
commit 859bfaa8d4
22 changed files with 278 additions and 43 deletions

View File

@ -2,11 +2,13 @@
#include <iostream>
#include <tribufu/sdk.h>
#include <tribufu/client.h>
using namespace tribufu;
int main(int argc, char **argv)
{
auto client = TribufuClient(0, "client_secret");
std::cout << "client_id: " << client.get_id() << std::endl;
auto client = new TribufuClient(0, "client_secret");
std::cout << "client_id: " << client->get_id() << std::endl;
return 0;
}

View File

@ -2,4 +2,4 @@
#pragma once
#include <tribufu/sdk.h>
#include <tribufu/client.h>

View File

@ -0,0 +1,13 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/unix/unix_platform.h>
#ifndef TRIBUFU_ANDROID
#define TRIBUFU_ANDROID
#endif
#ifndef TRIBUFU_MOBILE
#define TRIBUFU_MOBILE
#endif

View File

@ -0,0 +1,10 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#ifndef TRIBUFU_APPLE
#define TRIBUFU_APPLE
#endif
#define DLLEXPORT __attribute__((visibility("default")))
#define DLLIMPORT __attribute__((visibility("default")))

7
include/tribufu/base.h Normal file
View File

@ -0,0 +1,7 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/defines.h>
#include <tribufu/platform.h>
#include <tribufu/std.h>

View File

@ -2,25 +2,25 @@
#pragma once
#include <tribufu/pch.h>
#include <tribufu/base.h>
const char *VERSION = "0.0.4";
class TribufuClient
namespace tribufu
{
class TRIBUFU_API TribufuClient
{
private:
uint64_t id;
std::string secret;
public:
TribufuClient(uint64_t id, const std::string &secret)
{
this->id = id;
this->secret = secret;
}
TribufuClient(uint64_t id, const std::string &secret);
~TribufuClient();
uint64_t get_id() const
{
return this->id;
}
};
}

61
include/tribufu/defines.h Normal file
View File

@ -0,0 +1,61 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#ifndef EXTERN_C
#ifdef __cplusplus
#define EXTERN_C extern "C"
#define TRIBUFU_CPP
#else
#define EXTERN_C
#endif
#endif
// Declare Enum
#ifdef __cplusplus
#define TRIBUFU_ENUM_START(name) enum class name {
#define TRIBUFU_ENUM_END(name) }
#else
#define TRIBUFU_ENUM_START(name) typedef enum name {
#define TRIBUFU_ENUM_END } name
#endif
#define TRIBUFU_DECLARE_ENUM(name, ...) TRIBUFU_ENUM_START(name) __VA_ARGS__ TRIBUFU_ENUM_END
// Declare Struct
#define TRIBUFU_PASTE(...) __VA_ARGS__
#define TRIBUFU_DECLARE_STRUCT(name, body) \
EXTERN_C typedef struct name \
{ \
TRIBUFU_PASTE body \
} name
// Experimental
#define TRIBUFU_CLASS(...)
#define TRIBUFU_STRUCT(...)
#define TRIBUFU_ENUM(...)
#define TRIBUFU_FUNCTION(...)
#define TRIBUFU_PROPERTY(...)
// Import/Export API
#define NATIVE_API EXTERN_C
#ifdef TRIBUFU_LIBRARY
#define TRIBUFU_API DLLEXPORT
#else
#define TRIBUFU_API DLLIMPORT
#endif
// Macros Utils
#define TRIBUFU_EXPAND_MACRO(x) x
#define TRIBUFU_STRINGIFY_MACRO(x) #x

View File

@ -0,0 +1,13 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/unix/unix_platform.h>
#ifndef TRIBUFU_FREEBSD
#define TRIBUFU_FREEBSD
#endif
#ifndef TRIBUFU_DESKTOP
#define TRIBUFU_DESKTOP
#endif

View File

@ -0,0 +1,13 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/apple/apple_platform.h>
#ifndef TRIBUFU_IOS
#define TRIBUFU_IOS
#endif
#ifndef TRIBUFU_MOBILE
#define TRIBUFU_MOBILE
#endif

View File

@ -0,0 +1,13 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/unix/unix_platform.h>
#ifndef TRIBUFU_LINUX
#define TRIBUFU_LINUX
#endif
#ifndef TRIBUFU_DESKTOP
#define TRIBUFU_DESKTOP
#endif

View File

@ -0,0 +1,13 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/apple/apple_platform.h>
#ifndef TRIBUFU_MAC
#define TRIBUFU_MAC
#endif
#ifndef TRIBUFU_DESKTOP
#define TRIBUFU_DESKTOP
#endif

View File

@ -0,0 +1,14 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#ifndef TRIBUFU_MSVC
#define TRIBUFU_MSVC
#endif
#ifndef TRIBUFU_MICROSOFT
#define TRIBUFU_MICROSOFT
#endif
#define DLLEXPORT __declspec(dllexport)
#define DLLIMPORT __declspec(dllimport)

View File

@ -1,12 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#ifdef __cplusplus
#include <iostream>
#include <string>
#else
#error "C++ compiler required."
#endif

View File

@ -0,0 +1,30 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#ifdef _WIN32
#include <tribufu/windows/windows_platform.h>
#endif
#ifdef __MACH__
#include <tribufu/mac/mac_platform.h>
#endif
#ifdef __linux__
#include <tribufu/linux/linux_platform.h>
#endif
#ifdef __FreeBSD__
#include <tribufu/freebsd/freebsd_platform.h>
#endif
#ifdef __ANDROID__
#include <tribufu/android/android_platform.h>
#endif
#ifdef __APPLE__
// #include <TargetConditionals.h>
#ifdef TARGET_OS_IPHONE
#include <tribufu/ios/ios_platform.h>
#endif
#endif

View File

@ -1,5 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/client.h>

24
include/tribufu/std.h Normal file
View File

@ -0,0 +1,24 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#ifdef TRIBUFU_CPP
#include <algorithm>
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <functional>
#include <memory>
#include <new>
#include <ostream>
#include <sstream>
#include <string>
#include <utility>
#endif

View File

@ -0,0 +1,10 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#ifndef TRIBUFU_UNIX
#define TRIBUFU_UNIX
#endif
#define DLLEXPORT __attribute__((visibility("default")))
#define DLLIMPORT __attribute__((visibility("default")))

View File

@ -0,0 +1,9 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/msvc/msvc_platform.h>
#ifndef TRIBUFU_UWP
#define TRIBUFU_UWP
#endif

View File

@ -0,0 +1,13 @@
// Copyright (c) Tribufu. All Rights Reserved.
#pragma once
#include <tribufu/msvc/msvc_platform.h>
#ifndef TRIBUFU_WINDOWS
#define TRIBUFU_WINDOWS
#endif
#ifndef TRIBUFU_DESKTOP
#define TRIBUFU_DESKTOP
#endif

View File

@ -1,3 +1,16 @@
// Copyright (c) Tribufu. All Rights Reserved.
#include <tribufu/client.h>
namespace tribufu
{
TribufuClient::TribufuClient(uint64_t id, const std::string &secret)
{
this->id = id;
this->secret = secret;
}
TribufuClient::~TribufuClient()
{
}
}

View File

@ -1,3 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
#include <tribufu/pch.h>

View File

@ -9,9 +9,6 @@ project "tribufu_cpp"
targetdir("../bin/%{cfg.platform:gsub('-', '/')}")
objdir("../target/%{cfg.buildcfg}/obj/%{prj.name}/%{cfg.platform:gsub('-', '/')}")
-- pchheader "tribufu/pch.h"
-- pchsource "pch.cpp"
files
{
"./**.cpp",