]> err.no Git - sope/blob - Recycler/NGJavaScript/NGJavaScriptShadow.h
necessary changes
[sope] / Recycler / NGJavaScript / NGJavaScriptShadow.h
1 /*
2   Copyright (C) 2000-2003 SKYRIX Software AG
3
4   This file is part of OGo
5
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
9   later version.
10
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.
15
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
19   02111-1307, USA.
20 */
21 // $Id$
22
23 #ifndef __NGJavaScriptShadow_H__
24 #define __NGJavaScriptShadow_H__
25
26 #include <NGJavaScript/NGJavaScriptObject.h>
27 #include <NGScripting/NGScriptLanguage.h>
28
29 /*
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
33   is required).
34   The shadow object forwards it's static property and functions calls to it's
35   master using the private.
36
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 
40   object.
41 */
42
43 @interface NGJavaScriptShadow : NGJavaScriptObject < NGScriptShadow >
44 {
45   id masterObject; /* non-retained */
46 }
47
48 - (void)setMasterObject:(id)_master;
49 - (id)masterObject;
50
51 @end
52
53 #endif /* __NGJavaScriptShadow_H__ */