1#ifndef ANDROID_RS_SCRIPT_GROUP_BASE_H
2#define ANDROID_RS_SCRIPT_GROUP_BASE_H
3
4#include "rsObjectBase.h"
5
6namespace android {
7namespace renderscript {
8
9class ScriptGroupBase : public ObjectBase {
10 public:
11  ScriptGroupBase(Context* rsc) : ObjectBase(rsc) {}
12  virtual ~ScriptGroupBase() {}
13
14  virtual void serialize(Context *rsc, OStream *stream) const {}
15
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