30 #ifndef FEATUREADAPTERTEMPLATE_H
31 #define FEATUREADAPTERTEMPLATE_H
33 #include "api/adapters/FeatureAdapterInterface.h"
34 #include "common/buses/Bus.h"
35 #include "common/exceptions/IllegalArgumentException.h"
36 #include "common/features/FeatureFamily.h"
37 #include "common/protocols/Protocol.h"
47 Protocol *p, Bus *b,
unsigned short instanceIndex) {
48 this->feature = featureInterface;
52 this->index = instanceIndex;
59 this->ID = (long)family.getType();
61 if(0 == this->feature || 0 == this->protocol || 0 == this->bus) {
62 std::string error(
"Null feature interface, protocol, or bus is not allowed.");
63 throw IllegalArgumentException(error);
67 T *getFeature() {
return this->feature; }
69 virtual FeatureFamily &getFeatureFamily() {
return this->family; }
71 virtual long getID() {
return this->ID; }
Definition: FeatureAdapterInterface.h:37
Definition: FeatureAdapterTemplate.h:44
This is an interface to Advance features of OceanDirect that allow access to less common controls....
Definition: AcquisitionDelayFeatureAdapter.h:35