mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-09-18 02:51:32 +01:00
Initial Haiku UI added
Some checks are pending
Build Debian packages / bookworm (push) Waiting to run
Build Debian packages / bullseye (push) Waiting to run
Build Debian packages / trixie (push) Waiting to run
Build on FreeBSD / with UPnP (push) Waiting to run
Build on OSX / With USE_UPNP=no (push) Waiting to run
Build on OSX / With USE_UPNP=yes (push) Waiting to run
Build on Windows / clang-x86_64 (push) Waiting to run
Build on Windows / i686 (push) Waiting to run
Build on Windows / ucrt-x86_64 (push) Waiting to run
Build on Windows / x86_64 (push) Waiting to run
Build on Windows / CMake clang-x86_64 (push) Waiting to run
Build on Windows / CMake i686 (push) Waiting to run
Build on Windows / CMake ucrt-x86_64 (push) Waiting to run
Build on Windows / CMake x86_64 (push) Waiting to run
Build on Windows / XP (push) Waiting to run
Build on Ubuntu / Make with USE_UPNP=no (push) Waiting to run
Build on Ubuntu / Make with USE_UPNP=yes (push) Waiting to run
Build on Ubuntu / CMake with -DWITH_UPNP=OFF (push) Waiting to run
Build on Ubuntu / CMake with -DWITH_UPNP=ON (push) Waiting to run
Build containers / Building container for linux/amd64 (push) Waiting to run
Build containers / Building container for linux/arm64 (push) Waiting to run
Build containers / Building container for linux/arm/v7 (push) Waiting to run
Build containers / Building container for linux/386 (push) Waiting to run
Build containers / Pushing merged manifest (push) Blocked by required conditions
Some checks are pending
Build Debian packages / bookworm (push) Waiting to run
Build Debian packages / bullseye (push) Waiting to run
Build Debian packages / trixie (push) Waiting to run
Build on FreeBSD / with UPnP (push) Waiting to run
Build on OSX / With USE_UPNP=no (push) Waiting to run
Build on OSX / With USE_UPNP=yes (push) Waiting to run
Build on Windows / clang-x86_64 (push) Waiting to run
Build on Windows / i686 (push) Waiting to run
Build on Windows / ucrt-x86_64 (push) Waiting to run
Build on Windows / x86_64 (push) Waiting to run
Build on Windows / CMake clang-x86_64 (push) Waiting to run
Build on Windows / CMake i686 (push) Waiting to run
Build on Windows / CMake ucrt-x86_64 (push) Waiting to run
Build on Windows / CMake x86_64 (push) Waiting to run
Build on Windows / XP (push) Waiting to run
Build on Ubuntu / Make with USE_UPNP=no (push) Waiting to run
Build on Ubuntu / Make with USE_UPNP=yes (push) Waiting to run
Build on Ubuntu / CMake with -DWITH_UPNP=OFF (push) Waiting to run
Build on Ubuntu / CMake with -DWITH_UPNP=ON (push) Waiting to run
Build containers / Building container for linux/amd64 (push) Waiting to run
Build containers / Building container for linux/arm64 (push) Waiting to run
Build containers / Building container for linux/arm/v7 (push) Waiting to run
Build containers / Building container for linux/386 (push) Waiting to run
Build containers / Pushing merged manifest (push) Blocked by required conditions
This commit is contained in:
parent
0893b6b620
commit
b294c4b9f4
3 changed files with 88 additions and 4 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2024, The PurpleI2P Project
|
* Copyright (c) 2013-2025, The PurpleI2P Project
|
||||||
*
|
*
|
||||||
* This file is part of Purple i2pd project and licensed under BSD3
|
* This file is part of Purple i2pd project and licensed under BSD3
|
||||||
*
|
*
|
||||||
|
@ -118,8 +118,8 @@ namespace util
|
||||||
if (logclftime)
|
if (logclftime)
|
||||||
i2p::log::Logger().SetTimeFormat ("[%d/%b/%Y:%H:%M:%S %z]");
|
i2p::log::Logger().SetTimeFormat ("[%d/%b/%Y:%H:%M:%S %z]");
|
||||||
|
|
||||||
#ifdef WIN32_APP
|
#if defined(WIN32_APP) || defined(__HAIKU__)
|
||||||
// Win32 app with GUI supports only logging to file
|
// Win32 app with GUI or Haiku supports only logging to file
|
||||||
logs = "file";
|
logs = "file";
|
||||||
#else
|
#else
|
||||||
if (isDaemon && (logs == "" || logs == "stdout"))
|
if (isDaemon && (logs == "" || logs == "stdout"))
|
||||||
|
|
|
@ -98,7 +98,6 @@ namespace util
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#else // Unix-like systems, including Linux
|
#else // Unix-like systems, including Linux
|
||||||
#define Daemon i2p::util::DaemonUnix::Instance()
|
|
||||||
class DaemonUnix : public Daemon_Singleton
|
class DaemonUnix : public Daemon_Singleton
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -122,6 +121,24 @@ namespace util
|
||||||
|
|
||||||
int gracefulShutdownInterval; // in seconds
|
int gracefulShutdownInterval; // in seconds
|
||||||
};
|
};
|
||||||
|
#if !defined(__HAIKU__)
|
||||||
|
#define Daemon i2p::util::DaemonUnix::Instance()
|
||||||
|
#else
|
||||||
|
class DaemonHaiku: public DaemonUnix
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
static DaemonHaiku& Instance ()
|
||||||
|
{
|
||||||
|
static DaemonHaiku instance;
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
void run ();
|
||||||
|
};
|
||||||
|
#define Daemon i2p::util::DaemonHaiku::Instance()
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
67
daemon/HaikuDaemon.cpp
Normal file
67
daemon/HaikuDaemon.cpp
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2025, The PurpleI2P Project
|
||||||
|
*
|
||||||
|
* This file is part of Purple i2pd project and licensed under BSD3
|
||||||
|
*
|
||||||
|
* See full license text in LICENSE file at top of project tree
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(__HAIKU__)
|
||||||
|
|
||||||
|
#include "Daemon.h"
|
||||||
|
|
||||||
|
#include <MenuItem.h>
|
||||||
|
#include <MenuBar.h>
|
||||||
|
#include <Window.h>
|
||||||
|
#include <Application.h>
|
||||||
|
|
||||||
|
class MainWindow: public BWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MainWindow ();
|
||||||
|
};
|
||||||
|
|
||||||
|
class I2PApp: public BApplication
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
I2PApp ();
|
||||||
|
};
|
||||||
|
|
||||||
|
MainWindow::MainWindow ():
|
||||||
|
BWindow (BRect(100, 100, 500, 400), "i2pd", B_TITLED_WINDOW, B_QUIT_ON_WINDOW_CLOSE)
|
||||||
|
{
|
||||||
|
auto r = Bounds (); r.bottom = 20;
|
||||||
|
auto menuBar = new BMenuBar (r, "menubar");
|
||||||
|
AddChild (menuBar);
|
||||||
|
auto runMenu = new BMenu ("Run");
|
||||||
|
runMenu->AddItem (new BMenuItem ("Quit", new BMessage (B_QUIT_REQUESTED), 'Q'));
|
||||||
|
menuBar->AddItem (runMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
I2PApp::I2PApp (): BApplication("application/x-vnd.purplei2p-i2pd")
|
||||||
|
{
|
||||||
|
auto mainWindow = new MainWindow ();
|
||||||
|
mainWindow->Show ();
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace i2p
|
||||||
|
{
|
||||||
|
namespace util
|
||||||
|
{
|
||||||
|
void DaemonHaiku::run ()
|
||||||
|
{
|
||||||
|
if (isDaemon)
|
||||||
|
DaemonUnix::run ();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
I2PApp app;
|
||||||
|
app.Run ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue