#include <binder/IBinder.h>
#include <binder/IServiceManager.h>
#include <utils/String16.h>
using ::android::sp;
using ::android::String16;
using ::android::IBinder;
using ::android::IServiceManager;
using LocalRegistrationCallback = IServiceManager::LocalRegistrationCallback;
namespace android {
class GonkNativeWindow;
}
class CobaltServiceCallBack : public virtual LocalRegistrationCallback {
public:
void onServiceRegistration(const String16& name, const sp<IBinder>& binder) override;
void init();
virtual ~CobaltServiceCallBack() {};
bool IsCobaltRunning() { return mIsCobaltRunning;}
private:
sp<IServiceManager> mServiceManager;
bool mIsCobaltRunning = false;
sp<android::GonkNativeWindow> mNativeWindow;
};
In the above code i have decalred forward declared type “GonkNativeWindow” and trying to declare strong pointer to that type. But am getting complier error as below:
android/out/target/product/am30ah/obj/objdir-gecko/b2g-sysroot/include/utils/StrongPointer.h:305:14: error: member access into incomplete type ‘android::GonkNativeWindow’
9:18.80 m_ptr->decStrong(this);
What is wrong with the code here?
2