[M73 Dev][EFL] Disable VizDisplayCompositor for EFL port
[platform/framework/web/chromium-efl.git] / components / cast_channel / cast_channel_enum.h
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_CAST_CHANNEL_CAST_CHANNEL_ENUM_H_
6 #define COMPONENTS_CAST_CHANNEL_CAST_CHANNEL_ENUM_H_
7
8 #include <string>
9
10 namespace cast_channel {
11
12 // Helper function to convert scoped enums to their underlying type, for use
13 // with ostreams.
14 template <typename Enumeration>
15 auto AsInteger(Enumeration const value) ->
16     typename std::underlying_type<Enumeration>::type {
17   return static_cast<typename std::underlying_type<Enumeration>::type>(value);
18 }
19
20 // Maps to enum ReadyState in cast_channel.idl
21 enum class ReadyState {
22   NONE,
23   CONNECTING,
24   OPEN,
25   CLOSING,  // TODO(zhaobin): Remove this value because it is unused.
26   CLOSED,
27 };
28
29 // Maps to enum ChannelError in cast_channel.idl
30 enum class ChannelError {
31   NONE,
32   CHANNEL_NOT_OPEN,
33   AUTHENTICATION_ERROR,
34   CONNECT_ERROR,
35   CAST_SOCKET_ERROR,
36   TRANSPORT_ERROR,
37   INVALID_MESSAGE,
38   INVALID_CHANNEL_ID,
39   CONNECT_TIMEOUT,
40   PING_TIMEOUT,
41   UNKNOWN,
42 };
43
44 // Used in ErrorInfo.eventType in cast_channel.idl
45 enum class ChannelEvent {
46   UNKNOWN = 0,
47   CAST_SOCKET_CREATED,
48   READY_STATE_CHANGED,
49   CONNECTION_STATE_CHANGED,
50   READ_STATE_CHANGED,
51   WRITE_STATE_CHANGED,
52   ERROR_STATE_CHANGED,
53   CONNECT_FAILED,
54   TCP_SOCKET_CONNECT,  // Logged with RV.
55   TCP_SOCKET_SET_KEEP_ALIVE,
56   SSL_CERT_WHITELISTED,
57   SSL_SOCKET_CONNECT,  // Logged with RV.
58   SSL_INFO_OBTAINED,
59   DER_ENCODED_CERT_OBTAIN,  // Logged with RV.
60   RECEIVED_CHALLENGE_REPLY,
61   AUTH_CHALLENGE_REPLY,
62   CONNECT_TIMED_OUT,
63   SEND_MESSAGE_FAILED,
64   MESSAGE_ENQUEUED,  // Message
65   SOCKET_WRITE,      // Logged with RV.
66   MESSAGE_WRITTEN,   // Message
67   SOCKET_READ,       // Logged with RV.
68   MESSAGE_READ,      // Message
69   SOCKET_CLOSED,
70   SSL_CERT_EXCESSIVE_LIFETIME,
71   CHANNEL_POLICY_ENFORCED,
72   TCP_SOCKET_CONNECT_COMPLETE,  // Logged with RV.
73   SSL_SOCKET_CONNECT_COMPLETE,  // Logged with RV.
74   SSL_SOCKET_CONNECT_FAILED,    // Logged with RV.
75   SEND_AUTH_CHALLENGE_FAILED,   // Logged with RV.
76   AUTH_CHALLENGE_REPLY_INVALID,
77   PING_WRITE_ERROR,  // Logged with RV.
78 };
79
80 // Used in ErrorInfo.challengeReplyErrorType in cast_channel.idl
81 enum class ChallengeReplyError {
82   NONE = 1,
83   PEER_CERT_EMPTY,
84   WRONG_PAYLOAD_TYPE,
85   NO_PAYLOAD,
86   PAYLOAD_PARSING_FAILED,
87   MESSAGE_ERROR,
88   NO_RESPONSE,
89   FINGERPRINT_NOT_FOUND,
90   CERT_PARSING_FAILED,
91   CERT_NOT_SIGNED_BY_TRUSTED_CA,
92   CANNOT_EXTRACT_PUBLIC_KEY,
93   SIGNED_BLOBS_MISMATCH,
94   TLS_CERT_VALIDITY_PERIOD_TOO_LONG,
95   TLS_CERT_VALID_START_DATE_IN_FUTURE,
96   TLS_CERT_EXPIRED,
97   CRL_INVALID,
98   CERT_REVOKED,
99   SENDER_NONCE_MISMATCH,
100   SIGNATURE_EMPTY,
101   DIGEST_UNSUPPORTED,
102 };
103
104 // Used by CastSocket/CastTransport to track connection state.
105 enum class ConnectionState {
106   UNKNOWN,
107   TCP_CONNECT,
108   TCP_CONNECT_COMPLETE,
109   SSL_CONNECT,
110   SSL_CONNECT_COMPLETE,
111   AUTH_CHALLENGE_SEND,
112   AUTH_CHALLENGE_SEND_COMPLETE,
113   AUTH_CHALLENGE_REPLY_COMPLETE,
114   START_CONNECT,
115   FINISHED,  // Terminal states here and below.
116   CONNECT_ERROR,
117   TIMEOUT,
118 };
119
120 // Used by CastSocket/CastTransport to track read state.
121 enum class ReadState {
122   UNKNOWN,
123   READ,
124   READ_COMPLETE,
125   DO_CALLBACK,
126   HANDLE_ERROR,
127   READ_ERROR,  // Terminal state.
128 };
129
130 // Used by CastSocket/CastTransport to track write state.
131 enum class WriteState {
132   UNKNOWN,
133   WRITE,
134   WRITE_COMPLETE,
135   DO_CALLBACK,
136   HANDLE_ERROR,
137   WRITE_ERROR,  // Terminal states here and below.
138   IDLE,
139 };
140
141 std::string ReadyStateToString(ReadyState ready_state);
142 std::string ChannelErrorToString(ChannelError channel_error);
143
144 }  // namespace cast_channel
145
146 #endif  // COMPONENTS_CAST_CHANNEL_CAST_CHANNEL_ENUM_H_