• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #include "webrtc/libjingle/xmpp/moduleimpl.h"
12 #include "webrtc/base/common.h"
13 
14 namespace buzz {
15 
XmppModuleImpl()16 XmppModuleImpl::XmppModuleImpl() :
17   engine_(NULL),
18   stanza_handler_(this) {
19 }
20 
~XmppModuleImpl()21 XmppModuleImpl::~XmppModuleImpl()
22 {
23   if (engine_ != NULL) {
24     engine_->RemoveStanzaHandler(&stanza_handler_);
25     engine_ = NULL;
26   }
27 }
28 
29 XmppReturnStatus
RegisterEngine(XmppEngine * engine)30 XmppModuleImpl::RegisterEngine(XmppEngine* engine)
31 {
32   if (NULL == engine || NULL != engine_)
33     return XMPP_RETURN_BADARGUMENT;
34 
35   engine->AddStanzaHandler(&stanza_handler_);
36   engine_ = engine;
37 
38   return XMPP_RETURN_OK;
39 }
40 
41 XmppEngine*
engine()42 XmppModuleImpl::engine() {
43   ASSERT(NULL != engine_);
44   return engine_;
45 }
46 
47 }
48 
49