Adobe.com
Contents Suites Classes Class Index Member Index

AIDictionary.h

Go to the documentation of this file.
00001 #ifndef __AIDict__
00002 #define __AIDict__
00003 
00004 /*
00005  *        Name: AIDictionary.h
00006  *              $Id $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Dictionary Object Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 1999-2007 Adobe Systems Incorporated.
00013  * All rights reserved.
00014  *
00015  * NOTICE:  Adobe permits you to use, modify, and distribute this file 
00016  * in accordance with the terms of the Adobe license agreement 
00017  * accompanying it. If you have received this file from a source other 
00018  * than Adobe, then your use, modification, or distribution of it 
00019  * requires the prior written permission of Adobe.
00020  *
00021  */
00022 
00023 
00024 /*******************************************************************************
00025  **
00026  **     Imports
00027  **
00028  **/
00029 
00030 #ifndef __AIEntry__
00031 #include "AIEntry.h"
00032 #endif
00033 
00034 
00035 #include "AIHeaderBegin.h"
00036 
00039 /*******************************************************************************
00040  **
00041  **     Constants
00042  **
00043  **/
00044 
00045 #define kAIDictionarySuite                                              "AI Dictionary Suite"
00046 #define kAIDictionarySuiteVersion8                              AIAPI_VERSION(8)
00047 #define kAIDictionarySuiteVersion                               kAIDictionarySuiteVersion8
00048 #define kAIDictionaryVersion                                    kAIDictionarySuiteVersion
00049 
00050 #define kAIDictionaryIteratorSuite                              "AI Dictionary Iterator Suite"
00051 #define kAIDictionaryIteratorSuiteVersion3              AIAPI_VERSION(3)
00052 #define kAIDictionaryIteratorSuiteVersion               kAIDictionaryIteratorSuiteVersion3
00053 #define kAIDictionaryIteratorVersion                    kAIDictionaryIteratorSuiteVersion
00054 
00055 
00057 #define kNoSuchKey                              'NOKY'
00058 
00059 
00060 /*******************************************************************************
00061  **
00062  **     Types
00063  **
00064  **/
00065 
00067 typedef const struct _t_AIDictKey *AIDictKey;
00068 
00069 
00072 typedef struct _AIDictionaryIterator*                   AIDictionaryIterator;
00073 
00074 
00076 typedef struct _AIDictionaryKeyChangedNotifyData {
00078         ai::int32 refStamp;
00080         AIDictionaryRef dictionary;
00082         AIDictKey key;
00083 } AIDictionaryKeyChangedNotifyData;
00084 
00085 
00086 /*******************************************************************************
00087  **
00088  **     Suite
00089  **
00090  **/
00091 
00114 struct AIDictionarySuite {
00115 
00121         AIAPI AIErr (*CreateDictionary) ( AIDictionaryRef* dictionary );
00122 
00123 
00127         AIAPI ai::int32 (*AddRef) ( AIDictionaryRef dictionary );
00128 
00134         AIAPI ai::int32 (*Release) ( AIDictionaryRef dictionary );
00135 
00141         AIAPI AIErr (*Clone) ( ConstAIDictionaryRef src, AIDictionaryRef* dst );
00142 
00147         AIAPI AIErr (*Copy) ( AIDictionaryRef dict, ConstAIDictionaryRef src );
00148 
00154         AIAPI ai::uint32 (*Size) ( ConstAIDictionaryRef dict );
00155 
00162         AIAPI AIErr (*Begin) ( ConstAIDictionaryRef dict, AIDictionaryIterator* iterator );
00163 
00169         AIAPI AIDictKey (*Key) ( const char* keyString );
00170 
00176         AIAPI const char* (*GetKeyString) ( AIDictKey key );
00177 
00183         AIAPI AIBoolean (*IsKnown) ( ConstAIDictionaryRef dictionary, AIDictKey key );
00184 
00189         AIAPI AIErr (*DeleteEntry) ( AIDictionaryRef dictionary, AIDictKey key );
00190 
00197         AIAPI AIErr (*GetEntryType) ( ConstAIDictionaryRef dictionary, AIDictKey key, AIEntryType* entryType );
00198 
00199 
00207         AIAPI AIErr (*CopyEntry) ( ConstAIDictionaryRef dictionary1, AIDictionaryRef dictionary2,
00208                         AIDictKey key1, AIDictKey key2 );
00209 
00217         AIAPI AIErr (*MoveEntry) ( AIDictionaryRef dictionary1, AIDictionaryRef dictionary2,
00218                         AIDictKey key1, AIDictKey key2 );
00219 
00227         AIAPI AIErr (*SwapEntries) ( AIDictionaryRef dictionary1, AIDictionaryRef dictionary2,
00228                         AIDictKey key1, AIDictKey key2 );
00229 
00230 
00236         AIAPI AIErr (*GetArtEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, AIArtHandle* art );
00237 
00243         AIAPI AIErr (*NewArtEntry) ( AIDictionaryRef dictionary, AIDictKey key, ai::int16 type );
00244 
00245 
00252         AIAPI AIErr (*MoveArtToEntry) ( AIDictionaryRef dictionary, AIDictKey key, AIArtHandle art );
00253 
00264         AIAPI AIErr (*MoveEntryToArt) ( AIDictionaryRef dictionary, AIDictKey key, ai::int16 paintOrder,
00265                         AIArtHandle prep, AIArtHandle* art );
00266 
00267 
00273         AIAPI AIErr (*CopyArtToEntry) ( AIDictionaryRef dictionary, AIDictKey key, AIArtHandle art );
00274 
00284         AIAPI AIErr (*CopyEntryToArt) ( ConstAIDictionaryRef dictionary, AIDictKey key, ai::int16 paintOrder,
00285                         AIArtHandle prep, AIArtHandle* art );
00286 
00292         AIAPI AIErr (*SetEntryToLayer) ( AIDictionaryRef dictionary, AIDictKey key, AILayerHandle layer );
00293 
00305         AIAPI AIErr (*SetLayerToEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, ai::int16 paintOrder,
00306                         AILayerHandle prep, AILayerHandle *layer );
00307 
00314         AIAPI AIEntryRef (*Get) ( ConstAIDictionaryRef dictionary, AIDictKey key );
00315 
00322         AIAPI AIErr (*Set) ( AIDictionaryRef dictionary, AIDictKey key, AIEntryRef entry );
00323 
00324 
00325         // the following are convenience APIs for getting and setting entries of the basic types
00331         AIAPI AIErr (*GetBooleanEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, AIBoolean* value );
00332 
00338         AIAPI AIErr (*SetBooleanEntry) ( AIDictionaryRef dictionary, AIDictKey key, AIBoolean value );
00339 
00345         AIAPI AIErr (*GetIntegerEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, ai::int32* value );
00346 
00352         AIAPI AIErr (*SetIntegerEntry) ( AIDictionaryRef dictionary, AIDictKey key, ai::int32 value );
00353 
00359         AIAPI AIErr (*GetPointerEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, ai::intptr* value );
00360 
00366         AIAPI AIErr (*SetPointerEntry) ( AIDictionaryRef dictionary, AIDictKey key, ai::intptr value );
00367 
00373         AIAPI AIErr (*GetRealEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, AIReal* value );
00374 
00380         AIAPI AIErr (*SetRealEntry) ( AIDictionaryRef dictionary, AIDictKey key, AIReal value );
00381 
00387         AIAPI AIErr (*GetStringEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, const char** value );
00388 
00394         AIAPI AIErr (*SetStringEntry) ( AIDictionaryRef dictionary, AIDictKey key, const char* value );
00395 
00402         AIAPI AIErr (*GetBinaryEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, void* value, size_t* size );
00403 
00410         AIAPI AIErr (*SetBinaryEntry) ( AIDictionaryRef dictionary, AIDictKey key, void* value, size_t size );
00411 
00417         AIAPI AIErr (*GetDictEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, AIDictionaryRef* value );
00418 
00424         AIAPI AIErr (*SetDictEntry) ( AIDictionaryRef dictionary, AIDictKey key, AIDictionaryRef value );
00425 
00431         AIAPI AIErr (*GetArrayEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, AIArrayRef* value );
00432 
00438         AIAPI AIErr (*SetArrayEntry) ( AIDictionaryRef dictionary, AIDictKey key, AIArrayRef value );
00439 
00445         AIAPI AIErr (*GetUnicodeStringEntry) ( ConstAIDictionaryRef dictionary, AIDictKey key, ai::UnicodeString& value );
00446 
00452         AIAPI AIErr (*SetUnicodeStringEntry) ( AIDictionaryRef dictionary, AIDictKey key, const ai::UnicodeString& value );
00453 
00459         AIAPI AIErr (*TouchArt) ( ConstAIDictionaryRef dictionary );
00460 
00461 };
00462 
00463 
00470 struct AIDictionaryIteratorSuite {
00471 
00475         AIAPI ai::int32 (*AddRef) ( AIDictionaryIterator iterator );
00476 
00482         AIAPI ai::int32 (*Release) ( AIDictionaryIterator iterator );
00483 
00489         AIAPI AIBoolean (*IsValid) ( AIDictionaryIterator iterator );
00490 
00495         AIAPI AIErr (*Copy) ( AIDictionaryIterator iterator, AIDictionaryIterator from );
00496 
00501         AIAPI AIErr (*Clone) ( AIDictionaryIterator iterator, AIDictionaryIterator* clone );
00502 
00509         AIAPI AIBoolean (*IsEqual) ( AIDictionaryIterator iterator1, AIDictionaryIterator iterator2 );
00510 
00516         AIAPI AIBoolean (*AtEnd) ( AIDictionaryIterator iterator );
00517 
00523         AIAPI void (*Next) ( AIDictionaryIterator iterator );
00524 
00530         AIAPI void (*Prev) ( AIDictionaryIterator iterator );
00531 
00537         AIAPI AIDictKey (*GetKey) ( AIDictionaryIterator iterator );
00538 
00539 };
00540 
00541 
00542 #include "AIHeaderEnd.h"
00543 
00544 
00545 #endif


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks