| Index: ppapi/shared_impl/ppb_tcp_socket_shared.h
|
| diff --git a/ppapi/shared_impl/ppb_tcp_socket_shared.h b/ppapi/shared_impl/ppb_tcp_socket_shared.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..33348e92de5d29327451a3d53b9228ce72f304d0
|
| --- /dev/null
|
| +++ b/ppapi/shared_impl/ppb_tcp_socket_shared.h
|
| @@ -0,0 +1,74 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef PPAPI_SHARED_IMPL_PPB_TCP_SOCKET_SHARED_H_
|
| +#define PPAPI_SHARED_IMPL_PPB_TCP_SOCKET_SHARED_H_
|
| +
|
| +#include "ppapi/shared_impl/ppapi_shared_export.h"
|
| +
|
| +namespace ppapi {
|
| +
|
| +class PPAPI_SHARED_EXPORT TCPSocketState {
|
| + public:
|
| + enum StateType {
|
| + // The socket hasn't been bound or connected.
|
| + INITIAL,
|
| + // The socket has been bound.
|
| + BOUND,
|
| + // A connection has been established.
|
| + CONNECTED,
|
| + // An SSL connection has been established.
|
| + SSL_CONNECTED,
|
| + // The socket is listening.
|
| + LISTENING,
|
| + // The socket has been closed.
|
| + CLOSED
|
| + };
|
| +
|
| + // Transitions that will change the socket state. Please note that
|
| + // read/write/accept are not included because they don't change the socket
|
| + // state.
|
| + enum TransitionType {
|
| + NONE,
|
| + BIND,
|
| + CONNECT,
|
| + SSL_CONNECT,
|
| + LISTEN,
|
| + CLOSE
|
| + };
|
| +
|
| + explicit TCPSocketState(StateType initial_state);
|
| + ~TCPSocketState();
|
| +
|
| + StateType state() const { return state_; }
|
| +
|
| + void SetPendingTransition(TransitionType pending_transition);
|
| + void CompletePendingTransition(bool success);
|
| +
|
| + void DoTransition(TransitionType transition, bool success);
|
| +
|
| + bool IsValidTransition(TransitionType transition) const;
|
| + bool IsPending(TransitionType transition) const;
|
| +
|
| + bool IsConnected() const;
|
| + bool IsBound() const;
|
| +
|
| + private:
|
| + StateType state_;
|
| + TransitionType pending_transition_;
|
| +};
|
| +
|
| +// TCP socket API versions.
|
| +enum PPAPI_SHARED_EXPORT TCPSocketVersion {
|
| + // PPB_TCPSocket_Private.
|
| + TCP_SOCKET_VERSION_PRIVATE,
|
| + // PPB_TCPSocket v1.0.
|
| + TCP_SOCKET_VERSION_1_0,
|
| + // PPB_TCPSocket v1.1 or above.
|
| + TCP_SOCKET_VERSION_1_1_OR_ABOVE
|
| +};
|
| +
|
| +} // namespace ppapi
|
| +
|
| +#endif // PPAPI_SHARED_IMPL_PPB_TCP_SOCKET_SHARED_H_
|
|
|