aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/skin/feeds/feedwatcherso.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/skin/feeds/feedwatcherso.cpp')
-rw-r--r--Src/Wasabi/api/skin/feeds/feedwatcherso.cpp136
1 files changed, 136 insertions, 0 deletions
diff --git a/Src/Wasabi/api/skin/feeds/feedwatcherso.cpp b/Src/Wasabi/api/skin/feeds/feedwatcherso.cpp
new file mode 100644
index 00000000..af8d5ff0
--- /dev/null
+++ b/Src/Wasabi/api/skin/feeds/feedwatcherso.cpp
@@ -0,0 +1,136 @@
+// ----------------------------------------------------------------------------
+// Generated by ScriptObjectFactory [Sat Sep 27 01:24:57 2003]
+//
+// File :
+// Class : FeedWatcherScriptObject
+// class layer : Automatic Object Scripting
+// ----------------------------------------------------------------------------
+#include "precomp.h"
+
+#include "feedwatch.h"
+#include "FeedWatcherSO.h"
+// ScriptController Instance
+static FeedWatcherScriptController _feedWatcherScriptController;FeedWatcherScriptController *feedWatcherScriptController = &_feedWatcherScriptController;
+
+// Function Descriptor Table
+function_descriptor_struct FeedWatcherScriptController::exportedFunctions[] = {
+ { L"setFeed", 1, script_setFeed },
+ { L"releaseFeed", 0, script_releaseFeed },
+ { L"onFeedChange", 1, script_feedwatcher_onFeedChange },
+};
+
+// Script Object Methods
+FeedWatcherScriptObject::FeedWatcherScriptObject() {
+ if (!getScriptObject()) return;
+ feedWatcherScriptObject_init();
+}
+
+FeedWatcherScriptObject::~FeedWatcherScriptObject() {
+}
+
+void FeedWatcherScriptObject::feedWatcherScriptObject_init() {
+ // Assign the script interface to this instance.
+ getScriptObject()->vcpu_setInterface(FeedWatcherGuid, (void *)static_cast<FeedWatcher*>(this));
+ // Assign the class name to this instance.
+ getScriptObject()->vcpu_setClassName(L"FeedWatcher");
+ // Assign the controller instance to this script object instance.
+ getScriptObject()->vcpu_setController(feedWatcherScriptController);
+}
+
+// Script Object Methods
+
+void FeedWatcherScriptObject::feedwatcher_onFeedChange(const wchar_t *data) {
+ FeedWatcherScriptController::script_feedwatcher_onFeedChange(SCRIPT_CALL, getScriptObject(), MAKE_SCRIPT_STRING(data));
+}
+
+scriptVar /*int */ FeedWatcherScriptController::script_setFeed(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ feedid) {
+ // Begin all script methods with the init block.
+ SCRIPT_FUNCTION_INIT;
+ // Find the proper pointer for the "this" object, _pSO.
+ FeedWatcher*_pObj = static_cast<FeedWatcher*>(_pSO->vcpu_getInterface(FeedWatcherGuid));
+ if (_pObj) {
+ return MAKE_SCRIPT_INT(_pObj->setFeed(GET_SCRIPT_STRING(feedid)));
+ }
+ RETURN_SCRIPT_ZERO;
+}
+
+scriptVar /*void */ FeedWatcherScriptController::script_releaseFeed(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
+ // Begin all script methods with the init block.
+ SCRIPT_FUNCTION_INIT;
+ // Find the proper pointer for the "this" object, _pSO.
+ FeedWatcher*_pObj = static_cast<FeedWatcher*>(_pSO->vcpu_getInterface(FeedWatcherGuid));
+ if (_pObj) {
+ // Then properly call the hosted object;
+ _pObj->releaseFeed();
+ }
+ RETURN_SCRIPT_VOID;
+}
+
+scriptVar /*void */ FeedWatcherScriptController::script_feedwatcher_onFeedChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ data) {
+ // Begin all script methods with the init block
+ SCRIPT_FUNCTION_INIT;
+ // Honnor C++ hooks
+ PROCESS_HOOKS1(_pSO, feedWatcherScriptController, data);
+ // If there are no script hooks to execute, we abort here.
+ SCRIPT_FUNCTION_CHECKABORTEVENT;
+ // Otherwise we execute the script methods by calling this.
+ SCRIPT_EXEC_EVENT1(_pSO, data);
+}
+
+// Script Controller
+
+// This method returns the human readable name of the class in script files.
+const wchar_t *FeedWatcherScriptController::getClassName() {
+ return L"FeedWatcher";
+}
+
+// This method returns the human readable name of the parent of this class.
+const wchar_t *FeedWatcherScriptController::getAncestorClassName() {
+ return FEEDWATCHER_SCRIPTPARENTCLASS;
+}
+
+// This method returns the controller object for the parent class.
+ScriptObjectController *FeedWatcherScriptController::getAncestorController() {
+ /* XML-Template-TODO : Support inheritance */
+ return NULL;
+}
+
+// This method returns the number of methods this class publishes.
+int FeedWatcherScriptController::getNumFunctions() {
+ return sizeof(exportedFunctions) / sizeof(function_descriptor_struct);
+}
+
+// This method returns the block of published function descriptors.
+const function_descriptor_struct *FeedWatcherScriptController::getExportedFunctions() {
+ return exportedFunctions;
+}
+
+// This method returns the GUID assigned to this script class.
+GUID FeedWatcherScriptController::getClassGuid() {
+ return FeedWatcherGuid;
+}
+
+// This method creates and returns a new script class instance.
+ScriptObject *FeedWatcherScriptController::instantiate() {
+ FeedWatcher*_pObj = new FeedWatcher();
+ ASSERT(_pObj != NULL);
+ return _pObj->getScriptObject();
+}
+
+// This method deletes a given script class instance.
+void FeedWatcherScriptController::destroy(ScriptObject *o) {
+ FeedWatcher*_pObj = static_cast<FeedWatcher*>(o->vcpu_getInterface(FeedWatcherGuid));
+ ASSERT(_pObj != NULL);
+ delete _pObj;
+}
+
+// This method returns an encapsulated interface for the given instance.
+void *FeedWatcherScriptController::encapsulate(ScriptObject *o) {
+ // No automatic encapsulation
+ return NULL;
+}
+
+// This method frees a previously encapsulated interface.
+void FeedWatcherScriptController::deencapsulate(void *o) {
+}
+