InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IScript.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Jonathan W. Brown
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IScript__
25 #define __IScript__
26 
27 #include "IScriptLabel.h"
28 
29 #include "ScriptingID.h"
30 #include "ScriptObject.h"
31 
32 class ScriptClientObject ;
33 
34 using namespace ScriptInfo ;
35 
40 class IScript : public IScriptLabel
41 {
42 public:
43  enum { kDefaultIID = IID_ISCRIPT };
44 
45  virtual ~IScript() {}
50  virtual ScriptID GetObjectType( const RequestContext& context ) const = 0 ;
51 
57  virtual bool16 IsObjectType( const ScriptID& type, const RequestContext& context ) const = 0 ;
58  virtual bool16 IsObjectType( const ScriptElementID& type, const RequestContext& context ) const = 0 ;
59 
64  virtual const ObjectScriptElement* GetObjectInfo( const RequestContext& context ) const = 0 ;
65 
74  virtual void SetObjectType( const ScriptID& type, const RequestContext& context ) = 0 ;
75 
82  virtual IDataBase* GetDataBase( const RequestContext& context ) const = 0 ;
83 
88  virtual ScriptObject GetScriptObject( const RequestContext& context ) const = 0 ;
89 
95  virtual IPMUnknown* QueryParent( const PMIID& iid, const RequestContext& context ) const = 0 ;
96 
101  virtual bool16 HasBeenDeleted( const RequestContext& context ) = 0 ;
102 
112  virtual bool16 IsEqual( const IScript* script, const RequestContext& context ) const = 0;
113 
119  virtual void RegisterClientObject( ScriptClientObject* clientObject ) = 0 ;
120 
127  virtual void UnregisterClientObject( ScriptClientObject* clientObject ) = 0 ;
128 
132  virtual void NotifyClientObjectsToReleaseMe() = 0 ;
133 };
134 
135 // specialize adobe::type_info<> to avoid typeid problems across DLL boundaries
136 ADOBE_NAME_TYPE_0("iscript:indesign:adobe",IScript);
137 
138 #endif