using namespace watch_holder;
-struct sharable_watch_s : public Watch {};
+struct sharable_watch_s : public ISharableWatch {};
C_EXPORT int sharable_watch_resume(sharable_watch_h watch) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_resume(w);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ w->Resume();
+ return 0;
}
C_EXPORT int sharable_watch_pause(sharable_watch_h watch) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_pause(w);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ w->Pause();
+ return 0;
}
C_EXPORT int sharable_watch_get_appid(sharable_watch_h watch, char **appid) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_get_appid(w, appid);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ char* id = strdup(w->GetAppId().c_str());
+ if (id == nullptr)
+ return WATCH_HOLDER_ERROR_OUT_OF_MEMORY;
+
+ *appid = id;
+ return 0;
}
C_EXPORT int sharable_watch_get_pid(sharable_watch_h watch, int *pid) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_get_pid(w, pid);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ *pid = w->GetPid();
+ return 0;
}
C_EXPORT int sharable_watch_get_extra(sharable_watch_h watch, bundle **extra) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_get_extra(w, extra);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ *extra = w->GetExtra().GetHandle();
+ return 0;
}
C_EXPORT int sharable_watch_get_current_image(sharable_watch_h watch, Evas_Object **image) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_get_current_image(w, image);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ *image = w->GetCurrentImage();
+
+ if (*image == nullptr)
+ return WATCH_HOLDER_ERROR_INVALID_OPERATION;
+ return 0;
}
C_EXPORT int sharable_watch_is_bound(sharable_watch_h watch, bool *bound) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_is_bound(w, bound);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ *bound = w->IsBound();
+ return 0;
}
C_EXPORT int sharable_watch_is_faulted(sharable_watch_h watch, bool *faulted) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_is_faulted(w, faulted);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ *faulted = w->IsFaulted();
+ return 0;
}
C_EXPORT int sharable_watch_block_update(sharable_watch_h watch, bool enable) {
- watch_h w = reinterpret_cast<watch_h>(watch);
- return watch_block_update(w, enable);
+ ISharableWatch* w = reinterpret_cast<ISharableWatch*>(watch);
+ w->BlockUpdate(enable);
+ return 0;
}
: WatchMirror(win), cb_(cb), cb_data_(cb_data) {}
void OnAdded(const ISharableWatch& watch) override {
ISharableWatch& w = const_cast<ISharableWatch&>(watch);
- Watch* wa = dynamic_cast<Watch*>(&w);
- cb_.watch_mirror_lifecycle_added_cb(reinterpret_cast<sharable_watch_h>(wa), cb_data_);
+ cb_.watch_mirror_lifecycle_added_cb(reinterpret_cast<sharable_watch_h>(&w), cb_data_);
}
void OnUpdated(const ISharableWatch& watch) override {
ISharableWatch& w = const_cast<ISharableWatch&>(watch);
- Watch* wa = dynamic_cast<Watch*>(&w);
- cb_.watch_mirror_lifecycle_updated_cb(reinterpret_cast<sharable_watch_h>(wa), watch.GetCurrentImage(), cb_data_);
+ cb_.watch_mirror_lifecycle_updated_cb(reinterpret_cast<sharable_watch_h>(&w), watch.GetCurrentImage(), cb_data_);
}
void OnRemoved(const ISharableWatch& watch) override {
ISharableWatch& w = const_cast<ISharableWatch&>(watch);
- Watch* wa = dynamic_cast<Watch*>(&w);
- cb_.watch_mirror_lifecycle_removed_cb(reinterpret_cast<sharable_watch_h>(wa), cb_data_);
+ cb_.watch_mirror_lifecycle_removed_cb(reinterpret_cast<sharable_watch_h>(&w), cb_data_);
}
void OnChanged(const ISharableWatch& watch) override {
ISharableWatch& w = const_cast<ISharableWatch&>(watch);
- Watch* wa = dynamic_cast<Watch*>(&w);
- cb_.watch_mirror_lifecycle_changed_cb(reinterpret_cast<sharable_watch_h>(wa), cb_data_);
+ cb_.watch_mirror_lifecycle_changed_cb(reinterpret_cast<sharable_watch_h>(&w), cb_data_);
}
void OnAmbientChanged(bool enter, tizen_base::Bundle& extra) override {