Move to smart pointers for refcounting RS contexts

Change-Id: I0dc6adc4e02c7427a4234c549d3555a501fe5f90
diff --git a/cpp/BaseObj.cpp b/cpp/BaseObj.cpp
index a370e8d..4a9faac 100644
--- a/cpp/BaseObj.cpp
+++ b/cpp/BaseObj.cpp
@@ -16,10 +16,7 @@
 
 #define LOG_TAG "libRS_cpp"
 
-#include <rs.h>
-
 #include "RenderScript.h"
-#include "BaseObj.h"
 
 using namespace android;
 using namespace renderscriptCpp;
@@ -36,7 +33,7 @@
 }
 
 
-BaseObj::BaseObj(void *id, RenderScript *rs) {
+BaseObj::BaseObj(void *id, sp<RS> rs) {
     mRS = rs;
     mID = id;
 }
@@ -48,14 +45,14 @@
 }
 
 BaseObj::~BaseObj() {
-    rsObjDestroy(mRS->mContext, mID);
+    rsObjDestroy(mRS->getContext(), mID);
     mRS = NULL;
     mID = NULL;
 }
 
 void BaseObj::updateFromNative() {
     const char *name = NULL;
-    rsaGetName(mRS, mID, &name);
+    rsaGetName(mRS->getContext(), mID, &name);
     mName = name;
 }
 
@@ -65,6 +62,3 @@
         return true;
     return mID == obj->mID;
 }
-
-
-