libguac  0.9.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
client.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 Glyptodon LLC
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20  * THE SOFTWARE.
21  */
22 
23 #ifndef _GUAC_CLIENT_H
24 #define _GUAC_CLIENT_H
25 
32 #include "client-fntypes.h"
33 #include "client-types.h"
34 #include "client-constants.h"
35 #include "instruction-types.h"
36 #include "layer-types.h"
37 #include "pool-types.h"
38 #include "socket-types.h"
39 #include "stream-types.h"
40 #include "timestamp-types.h"
41 
42 #include <stdarg.h>
43 
45 
53 
61 
66  const char** audio_mimetypes;
67 
72  const char** video_mimetypes;
73 
82 
83 };
84 
85 struct guac_client {
86 
95 
103 
109 
115 
121 
127  void* data;
128 
144 
171 
189 
210 
227 
246 
265 
284 
303 
321 
344 
368 
392 
398  guac_pool* __buffer_pool;
399 
405  guac_pool* __layer_pool;
406 
410  guac_pool* __stream_pool;
411 
415  guac_stream* __output_streams;
416 
420  guac_stream* __input_streams;
421 
430 
431 };
432 
440 
446 void guac_client_free(guac_client* client);
447 
459 
470 void guac_client_log_info(guac_client* client, const char* format, ...);
471 
482 void guac_client_log_error(guac_client* client, const char* format, ...);
483 
495 void vguac_client_log_info(guac_client* client, const char* format, va_list ap);
496 
508 void vguac_client_log_error(guac_client* client, const char* format, va_list ap);
509 
517 void guac_client_stop(guac_client* client);
518 
531  const char* format, ...);
532 
546  const char* format, va_list ap);
547 
556 
565 
573 void guac_client_free_buffer(guac_client* client, guac_layer* layer);
574 
582 void guac_client_free_layer(guac_client* client, guac_layer* layer);
583 
592 
600 void guac_client_free_stream(guac_client* client, guac_stream* stream);
601 
605 extern const guac_layer* GUAC_DEFAULT_LAYER;
606 
607 #endif
608