Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : 5 : #include "bgp/message_builder.h" 6 : #include "bgp/bgp_message_builder.h" 7 : #include "bgp/xmpp_message_builder.h" 8 : #include "bgp/bgp_factory.h" 9 : 10 : BgpMessageBuilder *MessageBuilder::bgp_message_builder_; 11 : BgpXmppMessageBuilder *MessageBuilder::xmpp_message_builder_; 12 : 13 298 : MessageBuilder *MessageBuilder::GetInstance( 14 : RibExportPolicy::Encoding encoding) { 15 298 : if (encoding == RibExportPolicy::BGP) { 16 154 : if (bgp_message_builder_ == NULL) { 17 57 : bgp_message_builder_ = 18 57 : BgpStaticObjectFactory::Create<BgpMessageBuilder>(); 19 : } 20 154 : return bgp_message_builder_; 21 144 : } else if (encoding == RibExportPolicy::XMPP) { 22 144 : if (xmpp_message_builder_ == NULL) { 23 50 : xmpp_message_builder_= 24 50 : BgpStaticObjectFactory::Create<BgpXmppMessageBuilder>(); 25 : } 26 144 : return xmpp_message_builder_; 27 : } 28 0 : return NULL; 29 : }