1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be
3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file.
4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "base/logging.h"
6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/socket/ssl_server_socket.h"
7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsennamespace net {
9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsennamespace {
11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass SSLServerSocketOpenSSL : public SSLServerSocket {
13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public:
14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual ~SSLServerSocketOpenSSL() {}
15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // SSLServerSocket
17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual int Accept(CompletionCallback* callback) {
18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    // TODO(bulach): implement.
19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    NOTIMPLEMENTED();
20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    return 0;
21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  }
22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // Socket
24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual int Read(IOBuffer* buf, int buf_len,
25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                   CompletionCallback* callback) {
26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    // TODO(bulach): implement.
27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    NOTIMPLEMENTED();
28dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    return 0;
29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  }
30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual int Write(IOBuffer* buf, int buf_len,
31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                    CompletionCallback* callback) {
32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    // TODO(bulach): implement.
33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    NOTIMPLEMENTED();
34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    return 0;
35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  }
36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual bool SetReceiveBufferSize(int32 size) {
38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    // TODO(bulach): implement.
39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    NOTIMPLEMENTED();
40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    return false;
41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  }
42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual bool SetSendBufferSize(int32 size) {
44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    // TODO(bulach): implement.
45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    NOTIMPLEMENTED();
46dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    return false;
47dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  }
48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
49dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}  // namespace
51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
52dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenSSLServerSocket* CreateSSLServerSocket(Socket* socket,
53dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                                       X509Certificate* certificate,
54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                                       crypto::RSAPrivateKey* key,
55dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen                                       const SSLConfig& ssl_config) {
56dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  return new SSLServerSocketOpenSSL();
57dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
58dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
59dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}  // namespace net
60