network_settings/vpn: Make add-on more generic.
This commit is contained in:
@@ -13,7 +13,7 @@ SubInclude HAIKU_TOP src add-ons network_settings sshd ;
|
|||||||
SubInclude HAIKU_TOP src add-ons network_settings telnetd ;
|
SubInclude HAIKU_TOP src add-ons network_settings telnetd ;
|
||||||
|
|
||||||
# VPN add-ons
|
# VPN add-ons
|
||||||
SubInclude HAIKU_TOP src add-ons network_settings openvpn ;
|
SubInclude HAIKU_TOP src add-ons network_settings vpn ;
|
||||||
|
|
||||||
# Other add-ons
|
# Other add-ons
|
||||||
SubInclude HAIKU_TOP src add-ons network_settings hostname ;
|
SubInclude HAIKU_TOP src add-ons network_settings hostname ;
|
||||||
|
|||||||
+6
-6
@@ -1,18 +1,18 @@
|
|||||||
SubDir HAIKU_TOP src add-ons network_settings openvpn ;
|
SubDir HAIKU_TOP src add-ons network_settings vpn ;
|
||||||
|
|
||||||
UsePublicHeaders [ FDirName add-ons network_settings ] ;
|
UsePublicHeaders [ FDirName add-ons network_settings ] ;
|
||||||
UsePrivateHeaders app libroot kernel net shared ;
|
UsePrivateHeaders app libroot kernel net shared ;
|
||||||
UseHeaders [ FDirName $(HAIKU_TOP) src preferences network ] : false ;
|
UseHeaders [ FDirName $(HAIKU_TOP) src preferences network ] : false ;
|
||||||
|
|
||||||
AddResources OpenVPN : OpenVPN.rdef ;
|
AddResources VPNInterface : VPNInterface.rdef ;
|
||||||
|
|
||||||
Addon OpenVPNInterface :
|
Addon VPNInterface :
|
||||||
OpenVPNInterfaceAddOn.cpp
|
VPNInterfaceAddOn.cpp
|
||||||
|
|
||||||
: be bnetapi shared <nogrist>Network [ TargetLibsupc++ ]
|
: be bnetapi shared <nogrist>Network [ TargetLibsupc++ ]
|
||||||
[ TargetLibstdc++ ] localestub
|
[ TargetLibstdc++ ] localestub
|
||||||
;
|
;
|
||||||
|
|
||||||
DoCatalogs OpenVPNInterface : x-vnd.Haiku-OpenVPNInterface :
|
DoCatalogs VPNInterface : x-vnd.Haiku-VPNInterface :
|
||||||
OpenVPNInterfaceAddOn.cpp
|
VPNInterfaceAddOn.cpp
|
||||||
;
|
;
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
resource app_signature "application/x-vnd.Haiku-OpenVPNInterface";
|
resource app_signature "application/x-vnd.Haiku-VPNInterface";
|
||||||
|
|
||||||
resource app_version {
|
resource app_version {
|
||||||
major = 1,
|
major = 1,
|
||||||
@@ -7,6 +7,6 @@ resource app_version {
|
|||||||
variety = 0,
|
variety = 0,
|
||||||
internal = 0,
|
internal = 0,
|
||||||
short_info = "1.0.0",
|
short_info = "1.0.0",
|
||||||
long_info = "Haiku OpenVPN connection settings"
|
long_info = "Haiku VPNInterface connection settings"
|
||||||
};
|
};
|
||||||
|
|
||||||
+25
-25
@@ -32,34 +32,34 @@ using namespace BNetworkKit;
|
|||||||
|
|
||||||
|
|
||||||
#undef B_TRANSLATION_CONTEXT
|
#undef B_TRANSLATION_CONTEXT
|
||||||
#define B_TRANSLATION_CONTEXT "OpenVPNInterfaceAddOn"
|
#define B_TRANSLATION_CONTEXT "VPNInterfaceAddOn"
|
||||||
|
|
||||||
|
|
||||||
static const uint32 kMsgToggleService = 'tgls';
|
static const uint32 kMsgToggleService = 'tgls';
|
||||||
|
|
||||||
|
|
||||||
class OpenVPNInterfaceAddOn : public BNetworkSettingsAddOn {
|
class VPNInterfaceAddOn : public BNetworkSettingsAddOn {
|
||||||
public:
|
public:
|
||||||
OpenVPNInterfaceAddOn(image_id image,
|
VPNInterfaceAddOn(image_id image,
|
||||||
BNetworkSettings& settings);
|
BNetworkSettings& settings);
|
||||||
virtual ~OpenVPNInterfaceAddOn();
|
virtual ~VPNInterfaceAddOn();
|
||||||
|
|
||||||
virtual BNetworkSettingsItem*
|
virtual BNetworkSettingsItem*
|
||||||
CreateNextItem(uint32& cookie);
|
CreateNextItem(uint32& cookie);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class OpenVPNInterfaceView : public InterfaceView {
|
class VPNInterfaceView : public InterfaceView {
|
||||||
public:
|
public:
|
||||||
OpenVPNInterfaceView(BNetworkSettings& settings);
|
VPNInterfaceView(BNetworkSettings& settings);
|
||||||
virtual ~OpenVPNInterfaceView();
|
virtual ~VPNInterfaceView();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class OpenVPNInterfaceItem : public BNetworkSettingsItem {
|
class VPNInterfaceItem : public BNetworkSettingsItem {
|
||||||
public:
|
public:
|
||||||
OpenVPNInterfaceItem(BNetworkSettings& settings);
|
VPNInterfaceItem(BNetworkSettings& settings);
|
||||||
virtual ~OpenVPNInterfaceItem();
|
virtual ~VPNInterfaceItem();
|
||||||
|
|
||||||
virtual BNetworkSettingsType
|
virtual BNetworkSettingsType
|
||||||
Type() const;
|
Type() const;
|
||||||
@@ -80,14 +80,14 @@ private:
|
|||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
OpenVPNInterfaceView::OpenVPNInterfaceView(BNetworkSettings& settings)
|
VPNInterfaceView::VPNInterfaceView(BNetworkSettings& settings)
|
||||||
:
|
:
|
||||||
InterfaceView()
|
InterfaceView()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
OpenVPNInterfaceView::~OpenVPNInterfaceView()
|
VPNInterfaceView::~VPNInterfaceView()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ OpenVPNInterfaceView::~OpenVPNInterfaceView()
|
|||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
OpenVPNInterfaceItem::OpenVPNInterfaceItem(BNetworkSettings& settings)
|
VPNInterfaceItem::VPNInterfaceItem(BNetworkSettings& settings)
|
||||||
:
|
:
|
||||||
fSettings(settings),
|
fSettings(settings),
|
||||||
fItem(new InterfaceListItem("My Awesome VPN",
|
fItem(new InterfaceListItem("My Awesome VPN",
|
||||||
@@ -105,7 +105,7 @@ OpenVPNInterfaceItem::OpenVPNInterfaceItem(BNetworkSettings& settings)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
OpenVPNInterfaceItem::~OpenVPNInterfaceItem()
|
VPNInterfaceItem::~VPNInterfaceItem()
|
||||||
{
|
{
|
||||||
if (fView->Parent() == NULL)
|
if (fView->Parent() == NULL)
|
||||||
delete fView;
|
delete fView;
|
||||||
@@ -115,37 +115,37 @@ OpenVPNInterfaceItem::~OpenVPNInterfaceItem()
|
|||||||
|
|
||||||
|
|
||||||
BNetworkSettingsType
|
BNetworkSettingsType
|
||||||
OpenVPNInterfaceItem::Type() const
|
VPNInterfaceItem::Type() const
|
||||||
{
|
{
|
||||||
return B_NETWORK_SETTINGS_TYPE_VPN;
|
return B_NETWORK_SETTINGS_TYPE_VPN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BListItem*
|
BListItem*
|
||||||
OpenVPNInterfaceItem::ListItem()
|
VPNInterfaceItem::ListItem()
|
||||||
{
|
{
|
||||||
return fItem;
|
return fItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BView*
|
BView*
|
||||||
OpenVPNInterfaceItem::View()
|
VPNInterfaceItem::View()
|
||||||
{
|
{
|
||||||
if (fView == NULL)
|
if (fView == NULL)
|
||||||
fView = new OpenVPNInterfaceView(fSettings);
|
fView = new VPNInterfaceView(fSettings);
|
||||||
|
|
||||||
return fView;
|
return fView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
OpenVPNInterfaceItem::Revert()
|
VPNInterfaceItem::Revert()
|
||||||
{
|
{
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
OpenVPNInterfaceItem::IsRevertable()
|
VPNInterfaceItem::IsRevertable()
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
return false;
|
return false;
|
||||||
@@ -155,7 +155,7 @@ OpenVPNInterfaceItem::IsRevertable()
|
|||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
OpenVPNInterfaceAddOn::OpenVPNInterfaceAddOn(image_id image,
|
VPNInterfaceAddOn::VPNInterfaceAddOn(image_id image,
|
||||||
BNetworkSettings& settings)
|
BNetworkSettings& settings)
|
||||||
:
|
:
|
||||||
BNetworkSettingsAddOn(image, settings)
|
BNetworkSettingsAddOn(image, settings)
|
||||||
@@ -163,16 +163,16 @@ OpenVPNInterfaceAddOn::OpenVPNInterfaceAddOn(image_id image,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
OpenVPNInterfaceAddOn::~OpenVPNInterfaceAddOn()
|
VPNInterfaceAddOn::~VPNInterfaceAddOn()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BNetworkSettingsItem*
|
BNetworkSettingsItem*
|
||||||
OpenVPNInterfaceAddOn::CreateNextItem(uint32& cookie)
|
VPNInterfaceAddOn::CreateNextItem(uint32& cookie)
|
||||||
{
|
{
|
||||||
if (cookie++ == 0)
|
if (cookie++ == 0)
|
||||||
return new OpenVPNInterfaceItem(Settings());
|
return new VPNInterfaceItem(Settings());
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -185,5 +185,5 @@ extern "C"
|
|||||||
BNetworkSettingsAddOn*
|
BNetworkSettingsAddOn*
|
||||||
instantiate_network_settings_add_on(image_id image, BNetworkSettings& settings)
|
instantiate_network_settings_add_on(image_id image, BNetworkSettings& settings)
|
||||||
{
|
{
|
||||||
return new OpenVPNInterfaceAddOn(image, settings);
|
return new VPNInterfaceAddOn(image, settings);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user