DAVID4 SDK  1.8.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ITurntable.h
1 //=============================================================================
2 // See License in Related Pages
3 //=============================================================================
4 
5 #pragma once
6 
7 #ifndef DAVID_SDK_I_TURNTABLE_H
8 #define DAVID_SDK_I_TURNTABLE_H
9 
10 #include "davidSDK/Common.h"
11 
12 namespace david {
13 
14 //****************************************************************************
15 /// @addtogroup InterfaceGroup
16 /// @{
17 ///
18 /// @defgroup TurntableGroup Turntable
19 /// Functions and types related to 'Turntable' access.
20 /// @{
21 //****************************************************************************
22 
23 //=============================================================================
24 // Turntable
25 //=============================================================================
26 
27 /// Interface class for turntable control.
28 /// All calls are delegated to a JSON-RPC 2.0 client.
29 /// Example:
30 /// @include SimpleTurntable.cpp
32 {
33 public:
34  /// Destructor.
35  virtual ~ITurntable() {}
36 
37  /// Set up the turntable (connect/disconnect).
38  /// @param[in] enable True for connect, false for disconnect.
39  /// @exception david::Error_DeviceNotAvailable (david::FunctionException) Connection to turntable failed. Turntable not available?
40  virtual void Setup(bool enable) = 0;
41 
42  /// Rotate the turntable.
43  /// The turntable rotates counterclockwise ('degrees' is postive) or clockwise ('degrees' is negative).
44  /// @param[in] degrees Amount of rotation in degrees.
45  /// @exception david::Error_DeviceNotAvailable (david::FunctionException) Rotation of turntable failed. Turntable not available?
46  virtual void Rotate(double degrees) = 0;
47 };
48 
49 /// @} // TurntableGroup
50 /// @} // InterfaceGroup
51 
52 } // namespace
53 
54 #endif // DAVID_SDK_I_TURNTABLE_H