2 Copyright (C) 2000-2003 SKYRIX Software AG
4 This file is part of OGo
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 #ifndef __NGJavaScriptShadow_H__
24 #define __NGJavaScriptShadow_H__
26 #include <NGJavaScript/NGJavaScriptObject.h>
27 #include <NGScripting/NGScriptLanguage.h>
30 A shadow state object for an ObjC real object. The ObjC object needs to
31 forward dynamic state changes to this object, but it's properties and
32 methods are exposed under 'this' in the state object (no back-reference
34 The shadow object forwards it's static property and functions calls to it's
35 master using the private.
37 A shadow is required to retain the state of the script object since
38 a normal ObjC object doesn't keep a reference to a script object ! The
39 shadow contains some kind of specialized "extra variables" for the ObjC
43 @interface NGJavaScriptShadow : NGJavaScriptObject < NGScriptShadow >
45 id masterObject; /* non-retained */
48 - (void)setMasterObject:(id)_master;
53 #endif /* __NGJavaScriptShadow_H__ */