blob: b5337a642e106628adbca6e60c9afac245d4dc6b [file] [log] [blame]
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +00001/*
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
14namespace buzz {
15
16XmppModuleImpl::XmppModuleImpl() :
17 engine_(NULL),
18 stanza_handler_(this) {
19}
20
21XmppModuleImpl::~XmppModuleImpl()
22{
23 if (engine_ != NULL) {
24 engine_->RemoveStanzaHandler(&stanza_handler_);
25 engine_ = NULL;
26 }
27}
28
29XmppReturnStatus
30XmppModuleImpl::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
41XmppEngine*
42XmppModuleImpl::engine() {
43 ASSERT(NULL != engine_);
44 return engine_;
45}
46
47}
48