Gateware Libraries  R6.5A
Beta Build
GInterface.h
1 #ifndef GINTERFACE_H
2 #define GINTERFACE_H
3 
15 #include "GDefines.h"
17 
19 namespace GW
20 {
22  namespace CORE
23  {
25  static const GUUIID GInterfaceUUIID =
26  {
27  0xf73c8b73, 0x7c68, 0x4fee,{ 0xbf, 0x82, 0x83, 0xc2, 0x67, 0x27, 0x73, 0x13 }
28  };
29 
31 
34  class GInterface
35  {
36  // All Gateware API interfaces contain no variables & are pure virtual.
37  public:
39 
45  virtual GReturn GetCount(unsigned int& _outCount) = 0;
46 
48 
54  virtual GReturn IncrementCount() = 0;
55 
57 
63  virtual GReturn DecrementCount() = 0;
64 
66 
76  virtual GReturn RequestInterface(const GUUIID& _interfaceID, void** _outputInterface) = 0;
77  };
78  }// end CORE namespace
79 };// end GW namespace
80 
81 #endif
virtual GReturn GetCount(unsigned int &_outCount)=0
Return the total number of active references to this object.
Base interface all Gateware interfaces must support at a minimum.
Definition: GInterface.h:34
Gateware Universally Unique Interface IDentifier.
Definition: GDefines.h:25
virtual GReturn IncrementCount()=0
Increase the total number of active references to this object.
virtual GReturn RequestInterface(const GUUIID &_interfaceID, void **_outputInterface)=0
Requests an interface that may or may not be supported by this object.
virtual GReturn DecrementCount()=0
Decrease the total number of active references to this object.
The core namespace to which all Gateware interfaces/structures/defines must belong.
Definition: GAudio.h:20
GReturn
Listing of common error codes returned by Gateware functions.
Definition: GDefines.h:53