AVDECC Controller  v0.4.8
 All Classes Namespaces Files Functions Enumerations Enumerator Macros
system.h
Go to the documentation of this file.
1 /*
2  * Licensed under the MIT License (MIT)
3  *
4  * Copyright (c) 2013 AudioScience Inc.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy of
7  * this software and associated documentation files (the "Software"), to deal in
8  * the Software without restriction, including without limitation the rights to
9  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10  * the Software, and to permit persons to whom the Software is furnished to do so,
11  * subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23 
30 #pragma once
31 #ifndef _AVDECC_CONTROLLER_LIB_SYSTEM_H_
32 #define _AVDECC_CONTROLLER_LIB_SYSTEM_H_
33 
34 #include <stdint.h>
35 #include "build.h"
36 
37 namespace avdecc_lib
38 {
39  class net_interface;
40  class controller;
41 
42  class system
43  {
44  public:
46  {
48  // Add system types
49  };
50 
54  AVDECC_CONTROLLER_LIB32_API virtual void STDCALL destroy() = 0;
55 
61  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL set_wait_for_next_cmd(void *notification_id) = 0;
62 
66  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL get_last_resp_status() = 0;
67 
71  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL process_start() = 0;
72 
76  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL process_close() = 0;
77  };
78 
86  extern "C" AVDECC_CONTROLLER_LIB32_API system * STDCALL create_system(system::system_type type, net_interface *netif, controller *controller_obj);
87 }
88 
89 #endif
AVDECC_CONTROLLER_LIB32_API system *STDCALL create_system(system::system_type type, net_interface *netif, controller *controller_obj)
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL get_last_resp_status()=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL process_close()=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL process_start()=0
Definition: system.h:42
system_type
Definition: system.h:45
virtual AVDECC_CONTROLLER_LIB32_API void STDCALL destroy()=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL set_wait_for_next_cmd(void *notification_id)=0