LCOV - code coverage report
Current view: top level - xmpp - xmpp_init.cc (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 22 45 48.9 %
Date: 2026-06-08 02:02:55 Functions: 5 7 71.4 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #include "base/util.h"
       6             : #include "base/address_util.h"
       7             : #include "xmpp/xmpp_config.h"
       8             : #include "xmpp/xmpp_client.h"
       9             : #include "xmpp/xmpp_init.h"
      10             : #include "xmpp/xmpp_log.h"
      11             : #include "xmpp/xmpp_server.h"
      12             : #include "sandesh/sandesh_trace.h"
      13             : #include "sandesh/xmpp_trace_sandesh_types.h"
      14             : 
      15             : using namespace std;
      16             : 
      17             : const char *XmppInit::kControlNodeJID =
      18             :     "network-control@contrailsystems.com";
      19             : const char *XmppInit::kAgentNodeJID =
      20             :     "agent@contrailsystems.com";
      21             : const char *XmppInit::kDnsNodeJID =
      22             :     "network-dns@contrailsystems.com";
      23             : const char *XmppInit::kPubSubNS =
      24             :     "http://jabber.org/protocol/pubsub";
      25             : const char *XmppInit::kJIDControlBgp =
      26             :     "network-control@contrailsystems.com/bgp-peer";
      27             : const char *XmppInit::kJIDControlDns =
      28             :     "network-control@contrailsystems.com/dns-peer";
      29             : const char *XmppInit::kFqnPrependAgentNodeJID =
      30             :     "default-global-system-config:";
      31             : const char *XmppInit::kConfigPeer = "config";
      32             : const char *XmppInit::kBgpPeer = "bgp-peer";
      33             : const char *XmppInit::kEndOfRibMarker = "0/0/EndOfRib";
      34             : const char *XmppInit::kDnsPeer = "dns-peer";
      35             : const char *XmppInit::kOtherPeer = "other-peer";
      36             : 
      37             : SandeshTraceBufferPtr XmppMessageTraceBuf(SandeshTraceBufferCreate(XMPP_MESSAGE_TRACE_BUF, 5000));
      38             : SandeshTraceBufferPtr XmppTraceBuf(SandeshTraceBufferCreate(XMPP_TRACE_BUF, 1000));
      39             : 
      40           2 : XmppInit::XmppInit()
      41           2 :    : g_server_(NULL), g_client_(NULL), cfg_(new XmppConfigData) {
      42           2 : }
      43             : 
      44           2 : XmppInit::~XmppInit() {
      45           2 :     if (g_client_) {
      46           0 :         g_client_->Shutdown();
      47           0 :         TcpServerManager::DeleteServer(g_client_);
      48           0 :         g_client_ = NULL;
      49             :     }
      50             : 
      51           2 :     if (g_server_) {
      52           0 :         g_server_->Shutdown();
      53           0 :         TcpServerManager::DeleteServer(g_server_);
      54           0 :         g_server_ = NULL;
      55             :     }
      56             : 
      57           2 :     if (cfg_) {
      58           0 :         delete cfg_;
      59           0 :         cfg_ = NULL;
      60             :     }
      61           2 : }
      62             : 
      63           2 : void XmppInit::Reset(bool keep_config) {
      64           2 :     g_server_ = NULL;
      65           2 :     g_client_ = NULL;
      66           2 :     if (!keep_config) {
      67           2 :         cfg_ = NULL;
      68             :     }
      69           2 : }
      70             : 
      71           2 : void XmppInit::InitClient(XmppClient *client) {
      72           2 :     g_client_ = client;
      73           2 :     g_client_->ConfigUpdate(cfg_);
      74           2 : }
      75             : 
      76           0 : bool XmppInit::InitServer(XmppServer *server, int port, bool logUVE) {
      77           0 :     g_server_ = server;
      78           0 :     return g_server_->Initialize(port, logUVE);
      79             : }
      80             : 
      81           0 : XmppChannelConfig *XmppInit::AllocChannelConfig(
      82             :     const string &peer_ip, int port, const string &from, const string &to,
      83             :     const string &node, bool isClient) {
      84           0 :     boost::system::error_code ec;
      85             :     boost::asio::ip::address peer_addr =
      86           0 :         AddressFromString(peer_ip, &ec);
      87           0 :     if (ec) {
      88           0 :         return NULL;
      89             :     }
      90           0 :     XmppChannelConfig *cc = new XmppChannelConfig(isClient);
      91           0 :     cc->endpoint.address(peer_addr);
      92           0 :     cc->endpoint.port(port);
      93           0 :     cc->ToAddr = to;
      94           0 :     cc->FromAddr = from;
      95           0 :     cc->NodeAddr = node;
      96           0 :     return cc;
      97             : }
      98             : 
      99           2 : void XmppInit::AddXmppChannelConfig(XmppChannelConfig *cc) {
     100           2 :     if (cc) {
     101           2 :         cfg_->AddXmppChannelConfig(cc);
     102             :     }
     103           2 :     return;
     104             : }

Generated by: LCOV version 1.14