use DXXml;
use DXSql;
use IsoTime;
+use BPQMsg;
use Data::Dumper;
use IO::File;
DXUser::sync;
- eval {
- Local::finish(); # end local processing
- };
- dbg("Local::finish error $@") if $@;
+ if (defined &Local::finish) {
+ eval {
+ Local::finish(); # end local processing
+ };
+ dbg("Local::finish error $@") if $@;
+ }
# disconnect nodes
foreach $dxchan (DXChannel::get_all_nodes) {
# disconnect AGW
AGWMsg::finish();
+ BPQMsg::finish();
# disconnect UDP customers
UDPMsg::finish();
dbg("AGW Listener") if $AGWMsg::enable;
AGWrestart();
+dbg("BPQ Listener") if $BPQMsg::enable;
+BPQMsg::init(\&new_channel);
+
dbg("UDP Listener") if $UDPMsg::enable;
UDPMsg::init(\&new_channel);
# starting local stuff
dbg("doing local initialisation ...");
QSL::init(1);
-eval {
- Local::init();
-};
-dbg("Local::init error $@") if $@;
+if (defined &Local::init) {
+ eval {
+ Local::init();
+ };
+ dbg("Local::init error $@") if $@;
+}
+
# this, such as it is, is the main loop!
dbg("orft we jolly well go ...");
DXUser::process();
DXDupe::process();
AGWMsg::process();
+ BPQMsg::process();
- eval {
- Local::process(); # do any localised processing
- };
- dbg("Local::process error $@") if $@;
+ if (defined &Local::process) {
+ eval {
+ Local::process(); # do any localised processing
+ };
+ dbg("Local::process error $@") if $@;
+ }
}
if ($decease) {
last if --$decease <= 0;