• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 2012 The Android Open Source Project
3   *
4   * Licensed under the Apache License, Version 2.0 (the "License");
5   * you may not use this file except in compliance with the License.
6   * You may obtain a copy of the License at
7   *
8   *      http://www.apache.org/licenses/LICENSE-2.0
9   *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  #define LOG_TAG "libRS_cpp"
18  
19  #include <rs.h>
20  
21  #include "RenderScript.h"
22  #include "BaseObj.h"
23  
24  using namespace android;
25  using namespace renderscriptCpp;
26  
getID() const27  void * BaseObj::getID() const {
28      if (mID == NULL) {
29          ALOGE("Internal error: Object id 0.");
30      }
31      return mID;
32  }
33  
getObjID(sp<const BaseObj> o)34  void * BaseObj::getObjID(sp<const BaseObj> o) {
35      return o.get() == NULL ? NULL : o->getID();
36  }
37  
38  
BaseObj(void * id,RenderScript * rs)39  BaseObj::BaseObj(void *id, RenderScript *rs) {
40      mRS = rs;
41      mID = id;
42  }
43  
checkValid()44  void BaseObj::checkValid() {
45      if (mID == 0) {
46          ALOGE("Invalid object.");
47      }
48  }
49  
~BaseObj()50  BaseObj::~BaseObj() {
51      rsObjDestroy(mRS->mContext, mID);
52      mRS = NULL;
53      mID = NULL;
54  }
55  
updateFromNative()56  void BaseObj::updateFromNative() {
57      const char *name = NULL;
58      rsaGetName(mRS, mID, &name);
59      mName = name;
60  }
61  
equals(const BaseObj * obj)62  bool BaseObj::equals(const BaseObj *obj) {
63      // Early-out check to see if both BaseObjs are actually the same
64      if (this == obj)
65          return true;
66      return mID == obj->mID;
67  }
68  
69  
70  
71