i2pd/daemon/HaikuDaemon.cpp
orignal b294c4b9f4
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
Initial Haiku UI added
2025-09-17 20:43:51 -04:00

67 lines
1.1 KiB
C++

/*
* 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