1 #ifndef ANDROID_RS_SCRIPT_GROUP_BASE_H
2 #define ANDROID_RS_SCRIPT_GROUP_BASE_H
3 
4 #include "rsObjectBase.h"
5 
6 namespace android {
7 namespace renderscript {
8 
9 class ScriptGroupBase : public ObjectBase {
10  public:
ScriptGroupBase(Context * rsc)11   explicit ScriptGroupBase(Context* rsc) : ObjectBase(rsc) {}
~ScriptGroupBase()12   virtual ~ScriptGroupBase() {}
13 
serialize(Context * rsc,OStream * stream)14   virtual void serialize(Context *rsc, OStream *stream) const {}
15 
getClassId()16   virtual RsA3DClassID getClassId() const {
17     return RS_A3D_CLASS_ID_SCRIPT_GROUP;
18   }
19 
20   enum SG_API_Version {
21     SG_V1 = 10,
22     SG_V2 = 20,
23   };
24 
25   virtual void execute(Context *rsc) = 0;
26   virtual SG_API_Version getApiVersion() const = 0;
27 
28   struct Hal {
29     void * drv;
30 
31     struct DriverInfo {
32     };
33     DriverInfo info;
34   };
35   Hal mHal;
36 };
37 
38 }  // namespace renderscript
39 }  // namespace android
40 
41 #endif  // ANDROID_RS_SCRIPT_GROUP_BASE_H
42