Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups Pages
GoMultiplexBank.h
Go to the documentation of this file.
1 /**
2  * @file GoMultiplexBank.h
3  * @brief Declares the GoMultiplexBank class.
4  *
5  * @internal
6  * Copyright (C) 2014 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_MULTIPLEXBANK_H
11 #define GO_MULTIPLEXBANK_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 #include <GoSdk/GoSensor.h>
15 
17 
18 /**
19  * @class GoMultiplexBank
20  * @extends kObject
21  * @ingroup GoSdk
22  * @brief Represents a bank of related sensors to be used in multiplexing.
23  */
24 typedef kObject GoMultiplexBank;
25 
26 /**
27  * Adds a sensor to the given multiplexing bank.
28  *
29  * @public @memberof GoMultiplexBank
30  * @param bank GoMultiplexBank object.
31  * @param sensor A connected handle to the sensor to add.
32  * @return Operation status.
33  */
34 GoFx(kStatus) GoMultiplexBank_AddSensor(GoMultiplexBank bank, GoSensor sensor);
35 
36 /**
37  * Removes a sensor from the given multiplexing bank.
38  *
39  * @public @memberof GoMultiplexBank
40  * @param bank GoMultiplexBank object.
41  * @param id The ID of the sensor in the bank to the remove.
42  * @return Operation status.
43  */
44 GoFx(kStatus) GoMultiplexBank_RemoveSensor(GoMultiplexBank bank, k32u id);
45 
46 /**
47  * Returns the count corresponding to the number of sensors in the multiplexing bank.
48  *
49  * @public @memberof GoMultiplexBank
50  * @param bank GoMultiplexBank object.
51  * @return The multiplexing bank's sensor count.
52  */
53 GoFx(kSize) GoMultiplexBank_SensorCount(GoMultiplexBank bank);
54 
55 /**
56  * Gets a sensor handle from the given index.
57  *
58  * @public @memberof GoMultiplexBank
59  * @param bank GoMultiplexBank object.
60  * @param index Multiplexing bank index from which to obtain a sensor handle.
61  * @return A GoSensor object.
62  */
63 GoFx(GoSensor) GoMultiplexBank_SensorAt(GoMultiplexBank bank, kSize index);
64 
65 /**
66  * Returns a boolean value representing whether a sensor is in the multiplexing bank.
67  *
68  * @public @memberof GoMultiplexBank
69  * @param bank GoMultiplexBank object.
70  * @param id The sensor ID to search for.
71  * @return kTRUE if the sensor is in the multiplexing bank, kFALSE otherwise.
72  */
73 GoFx(kBool) GoMultiplexBank_HasSensor(GoMultiplexBank bank, k32u id);
74 
75 /**
76  * Gets the ID of the given multiplexing bank.
77  *
78  * @public @memberof GoMultiplexBank
79  * @param bank GoMultiplexBank object.
80  * @return The multiplexing bank ID.
81  */
82 GoFx(k32u) GoMultiplexBank_Id(GoMultiplexBank bank);
83 
84 kEndHeader()
85 #include <GoSdk/GoMultiplexBank.x.h>
86 
87 #endif
kBool GoMultiplexBank_HasSensor(GoMultiplexBank bank, k32u id)
Returns a boolean value representing whether a sensor is in the multiplexing bank.
kStatus GoMultiplexBank_RemoveSensor(GoMultiplexBank bank, k32u id)
Removes a sensor from the given multiplexing bank.
Declares the GoSensor class.
Represents a bank of related sensors to be used in multiplexing.
Definition: GoMultiplexBank.h:16
kSize GoMultiplexBank_SensorCount(GoMultiplexBank bank)
Returns the count corresponding to the number of sensors in the multiplexing bank.
Essential SDK declarations.
kStatus GoMultiplexBank_AddSensor(GoMultiplexBank bank, GoSensor sensor)
Adds a sensor to the given multiplexing bank.
k32u GoMultiplexBank_Id(GoMultiplexBank bank)
Gets the ID of the given multiplexing bank.
kBeginHeader() kStatus GoSdk_Construct(kAssembly *assembly)
Constructs the Gocator SDK library.
Represents a Gocator sensor.
Definition: GoSensor.h:21
GoSensor GoMultiplexBank_SensorAt(GoMultiplexBank bank, kSize index)
Gets a sensor handle from the given index.