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()16XmppModuleImpl::XmppModuleImpl() : 17 engine_(NULL), 18 stanza_handler_(this) { 19 } 20 ~XmppModuleImpl()21XmppModuleImpl::~XmppModuleImpl() 22 { 23 if (engine_ != NULL) { 24 engine_->RemoveStanzaHandler(&stanza_handler_); 25 engine_ = NULL; 26 } 27 } 28 29 XmppReturnStatus RegisterEngine(XmppEngine * engine)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 41 XmppEngine* engine()42XmppModuleImpl::engine() { 43 ASSERT(NULL != engine_); 44 return engine_; 45 } 46 47 } 48 49