\doxysection{com.\+tritondigital.\+net.\+streaming.\+proxy.\+client.\+Client.\+State\+Changed\+Listener Interface Reference}
\hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener}{}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener}\index{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}}


Interface to be implemented in order to be notified about the important changes of state of the client.  


\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{enumcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_1_1ErrorDetail}{Error\+Detail}}
\begin{DoxyCompactList}\small\item\em All different reason for error, used when notifying the listener about an error (on\+Client\+Error). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_a8d0921fe45f5f6dae20603086d035696}{on\+Client\+Connecting}} ()
\begin{DoxyCompactList}\small\item\em Client has started a connection attempt, but has not connected yet. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_afee8dc882b397073cc9d65e94212b85a}{on\+Client\+Connected}} ()
\begin{DoxyCompactList}\small\item\em Client is connected. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_a07786f7af6cfb0e5992404dd48be840a}{on\+Client\+Disconnected}} ()
\begin{DoxyCompactList}\small\item\em Client has been disconnected voluntarily. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_ad8f71d0db149439defd6279e53e84e2e}{on\+Client\+Stopping}} ()
\begin{DoxyCompactList}\small\item\em Client started to stop. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_aedd1b54e3982997105a37609a1c37915}{on\+Client\+Error}} (\mbox{\hyperlink{enumcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_1_1ErrorDetail}{Error\+Detail}} error\+Detail)
\begin{DoxyCompactList}\small\item\em Client encountered an unrecoverable error. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Interface to be implemented in order to be notified about the important changes of state of the client. 

Calls to this listener may come from any thread, so thread safety should be considered when designing the implementation. 

\doxysubsection{Member Function Documentation}
\Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_afee8dc882b397073cc9d65e94212b85a}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_afee8dc882b397073cc9d65e94212b85a} 
\index{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}!onClientConnected@{onClientConnected}}
\index{onClientConnected@{onClientConnected}!com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onClientConnected()}{onClientConnected()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+client.\+Client.\+State\+Changed\+Listener.\+on\+Client\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Client is connected. 

Its internal state is State.\+CONNECTED. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_a8d0921fe45f5f6dae20603086d035696}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_a8d0921fe45f5f6dae20603086d035696} 
\index{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}!onClientConnecting@{onClientConnecting}}
\index{onClientConnecting@{onClientConnecting}!com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onClientConnecting()}{onClientConnecting()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+client.\+Client.\+State\+Changed\+Listener.\+on\+Client\+Connecting (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Client has started a connection attempt, but has not connected yet. 

Its internal state is State.\+CONNECTING. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_a07786f7af6cfb0e5992404dd48be840a}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_a07786f7af6cfb0e5992404dd48be840a} 
\index{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}!onClientDisconnected@{onClientDisconnected}}
\index{onClientDisconnected@{onClientDisconnected}!com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onClientDisconnected()}{onClientDisconnected()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+client.\+Client.\+State\+Changed\+Listener.\+on\+Client\+Disconnected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Client has been disconnected voluntarily. 

Its internal state is State.\+DISCONNECTED. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_aedd1b54e3982997105a37609a1c37915}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_aedd1b54e3982997105a37609a1c37915} 
\index{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}!onClientError@{onClientError}}
\index{onClientError@{onClientError}!com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onClientError()}{onClientError()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+client.\+Client.\+State\+Changed\+Listener.\+on\+Client\+Error (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{enumcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_1_1ErrorDetail}{Error\+Detail}}}]{error\+Detail }\end{DoxyParamCaption})}



Client encountered an unrecoverable error. 

It has been disconnected and its internal state is State.\+ERROR. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_ad8f71d0db149439defd6279e53e84e2e}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1client_1_1Client_1_1StateChangedListener_ad8f71d0db149439defd6279e53e84e2e} 
\index{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}!onClientStopping@{onClientStopping}}
\index{onClientStopping@{onClientStopping}!com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener@{com.tritondigital.net.streaming.proxy.client.Client.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onClientStopping()}{onClientStopping()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+client.\+Client.\+State\+Changed\+Listener.\+on\+Client\+Stopping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Client started to stop. 

It disconnected and is waiting for the disconnected callback. Its internal state is State.\+STOPPING. 

The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
streamingproxy/src/main/java/com/tritondigital/net/streaming/proxy/client/Client.\+java\end{DoxyCompactItemize}
