extern int
setType(JNIEnv *env, jclass cls, jobject obj, const char *type);
-extern int
-setRecvInfo(JNIEnv *env, const ORTERecvInfo *rinfo, jobject obj);
-
extern jobject
-createAppInfo(JNIEnv *env, ORTEAppInfo *ainfo);
+createAppInfo(JNIEnv *env, const ORTEAppInfo *ainfo);
extern jobject
-createPubInfo(JNIEnv *env, ORTEPubInfo *pinfo);
+createPubInfo(JNIEnv *env, const ORTEPubInfo *pinfo);
extern jobject
-createSubInfo(JNIEnv *env, ORTESubInfo *sinfo);
+createSubInfo(JNIEnv *env, const ORTESubInfo *sinfo);
extern NtpTime
getNtpTime(JNIEnv *env, jobject obj);
+
+extern Boolean
+onSubDelete(const struct ORTEAppInfo *appInfo, const struct ORTESubInfo *subInfo, void *param);
+
+extern Boolean
+onSubRemoteChanged(const struct ORTEAppInfo *appInfo, const struct ORTESubInfo *subInfo, void *param);
+
+extern Boolean
+onSubRemoteNew(const struct ORTEAppInfo *appInfo, const struct ORTESubInfo *subInfo, void *param);
+
+extern Boolean
+onPubDelete(const struct ORTEAppInfo *appInfo, const struct ORTEPubInfo *pubInfo, void *param);
+
+extern Boolean
+onPubRemoteChanged(const struct ORTEAppInfo *appInfo, const struct ORTEPubInfo *pubInfo, void *param);
+
+extern Boolean
+onPubRemoteNew(const struct ORTEAppInfo *appInfo, const struct ORTEPubInfo *pubInfo, void *param);
+
+extern Boolean
+onAppDelete(const struct ORTEAppInfo *appInfo, void *param);
+
+extern Boolean
+onAppRemoteNew(const struct ORTEAppInfo *appInfo, void *param);
+
+extern Boolean
+onMgrDelete(const struct ORTEAppInfo *appInfo, void *param);
+
+extern Boolean
+onMgrNew(const struct ORTEAppInfo *appInfo, void *param);
+
+extern Boolean
+onRegFail(void *param);
+
+extern jclass
+findClass(JNIEnv *env, const char *name);