// ----------------------------------------------------------------------------
// Generated by ScriptObjectFactory [Sat Sep 27 01:24:57 2003]
// 
// File        : 
// Class       : FeedWatcherScriptObject
// class layer : Automatic Object Scripting
// ----------------------------------------------------------------------------

#ifndef __FEEDWATCHERSCRIPTOBJECT_H
#define __FEEDWATCHERSCRIPTOBJECT_H


#include <api/script/objects/rootobj.h>
#include <api/script/objcontroller.h>

#define FEEDWATCHER_SCRIPTPARENT RootObjectInstance
#define FEEDWATCHER_SCRIPTPARENTCLASS L"Object"

class svc_textFeed;

// ----------------------------------------------------------------------------
// {A5376FA1-4E94-411a-83F6-05EC5EEA5F0A}
static const GUID FeedWatcherGuid = 
{ 0xa5376fa1, 0x4e94, 0x411a, { 0x83, 0xf6, 0x5, 0xec, 0x5e, 0xea, 0x5f, 0xa } };

// -----------------------------------------------------------------------------

class FeedWatcherScriptObject : public FEEDWATCHER_SCRIPTPARENT {
public:
  FeedWatcherScriptObject();
  virtual ~FeedWatcherScriptObject();
  
  void feedWatcherScriptObject_init();

public:
  virtual void feedwatcher_onFeedChange(const wchar_t *data);
};

// -----------------------------------------------------------------------------
class FeedWatcherScriptController : public ScriptObjectControllerI {
public:

  virtual const wchar_t *getClassName();
  virtual const wchar_t *getAncestorClassName();
  virtual ScriptObjectController *getAncestorController();
  virtual int getNumFunctions();
  virtual const function_descriptor_struct *getExportedFunctions();
  virtual GUID getClassGuid();
  virtual ScriptObject *instantiate();
  virtual void destroy(ScriptObject *o);
  virtual void *encapsulate(ScriptObject *o);
  virtual void deencapsulate(void *o);

  static scriptVar script_setFeed(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar feedid);
  static scriptVar script_releaseFeed(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO);
  static scriptVar script_feedwatcher_onFeedChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar data);
  
private:static function_descriptor_struct exportedFunctions[];
};

extern FeedWatcherScriptController *feedWatcherScriptController;
// ----------------------------------------------------------------------------

#endif // __FEEDWATCHERSCRIPTOBJECT_H
