11ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#ifndef ANDROID_RS_SCRIPT_GROUP_BASE_H 21ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#define ANDROID_RS_SCRIPT_GROUP_BASE_H 31ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 41ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#include "rsObjectBase.h" 51ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 61ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ninamespace android { 71ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ninamespace renderscript { 81ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 91ffd86b448d78366190c540f98f8b6d641cdb6cfYang Niclass ScriptGroupBase : public ObjectBase { 101ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni public: 111ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni ScriptGroupBase(Context* rsc) : ObjectBase(rsc) {} 121ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual ~ScriptGroupBase() {} 131ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 141ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual void serialize(Context *rsc, OStream *stream) const {} 151ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 161ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual RsA3DClassID getClassId() const { 171ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni return RS_A3D_CLASS_ID_SCRIPT_GROUP; 181ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni } 191ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 201ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni enum SG_API_Version { 211ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni SG_V1 = 10, 221ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni SG_V2 = 20, 231ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni }; 241ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 251ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual void execute(Context *rsc) = 0; 261ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual SG_API_Version getApiVersion() const = 0; 271ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 281ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni struct Hal { 291ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni void * drv; 301ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 311ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni struct DriverInfo { 321ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni }; 331ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni DriverInfo info; 341ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni }; 351ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni Hal mHal; 361ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni}; 371ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 381ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni} // namespace renderscript 391ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni} // namespace android 401ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 411ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#endif // ANDROID_RS_SCRIPT_GROUP_BASE_H 42