1/*
2 *  Copyright 2010 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/base/asyncsocket.h"
12
13namespace rtc {
14
15AsyncSocket::AsyncSocket() {
16}
17
18AsyncSocket::~AsyncSocket() {
19}
20
21AsyncSocketAdapter::AsyncSocketAdapter(AsyncSocket* socket) : socket_(NULL) {
22  Attach(socket);
23}
24
25AsyncSocketAdapter::~AsyncSocketAdapter() {
26  delete socket_;
27}
28
29void AsyncSocketAdapter::Attach(AsyncSocket* socket) {
30  ASSERT(!socket_);
31  socket_ = socket;
32  if (socket_) {
33    socket_->SignalConnectEvent.connect(this,
34        &AsyncSocketAdapter::OnConnectEvent);
35    socket_->SignalReadEvent.connect(this,
36        &AsyncSocketAdapter::OnReadEvent);
37    socket_->SignalWriteEvent.connect(this,
38        &AsyncSocketAdapter::OnWriteEvent);
39    socket_->SignalCloseEvent.connect(this,
40        &AsyncSocketAdapter::OnCloseEvent);
41  }
42}
43
44}  // namespace rtc
45