Adobe.com
Contents Suites Classes Class Index Member Index

AIDataFilter.h

Go to the documentation of this file.
00001 #ifndef __AIDataFilter__
00002 #define __AIDataFilter__
00003 
00004 /*
00005  *        Name: AIDataFilter.h
00006  *   $Revision: 7 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Data Filter Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 1986-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 __AITypes__
00031 #include "AITypes.h"
00032 #endif
00033 
00034 #include "AIFilePath.h"
00035 
00036 #include "AIHeaderBegin.h"
00037 
00040 /*******************************************************************************
00041  **
00042  **     Constants
00043  **
00044  **/
00045 
00047 #define kAIDataFilterSuite                              "AI Data Filter Suite"
00048 
00049 #define kAIDataFilterSuiteVersion8              AIAPI_VERSION(8)
00050 
00052 #define kAIDataFilterSuiteVersion               kAIDataFilterSuiteVersion8
00053 #define kAIDataFilterVersion                    kAIDataFilterSuiteVersion
00054 
00055 
00057 #define kDataFilterErr                                  'DFER'
00058 
00059 
00060 /*******************************************************************************
00061  **
00062  **     Types
00063  **
00064  **/
00066 typedef struct DataFilter AIDataFilter;
00067 
00071 typedef struct _t_AIPluginStream {
00079         AIAPI AIErr (*ReadProc) ( struct _t_AIPluginStream* stream, char* buffer, size_t* count );
00085         AIAPI AIErr (*WriteProc) ( struct _t_AIPluginStream* stream, const char* buffer, size_t count );
00090         AIAPI AIErr (*SeekProc) ( struct _t_AIPluginStream* stream, ai::sizediff_t count );
00095         AIAPI AIErr (*MarkProc) ( struct _t_AIPluginStream* stream, ai::sizediff_t *count );
00099         AIAPI AIErr (*TerminateProc) ( struct _t_AIPluginStream* stream );
00100 } AIPluginStream;
00101 
00102 
00103 /*******************************************************************************
00104  **
00105  **     Suite
00106  **
00107  **/
00108 
00158 struct AIDataFilterSuite {
00159 
00167         AIAPI AIErr (*LinkDataFilter) ( AIDataFilter *prev, AIDataFilter *next );
00168 
00175         AIAPI AIErr (*UnlinkDataFilter) ( AIDataFilter *next, AIDataFilter **prev );
00176 
00184         AIAPI AIErr (*ReadDataFilter) ( AIDataFilter *filter, char *store, size_t *count );
00185 
00191         AIAPI AIErr (*WriteDataFilter) ( AIDataFilter *filter, const char *store, size_t *count );
00192 
00198         AIAPI AIErr (*SeekDataFilter) ( AIDataFilter *filter, ai::sizediff_t *count );
00199 
00205         AIAPI AIErr (*MarkDataFilter) ( AIDataFilter *filter, ai::sizediff_t *count );
00206 
00215         AIAPI AIErr (*NewFileDataFilter) ( const ai::FilePath &spec, const char *mode, size_t creator, ai::int32 type, AIDataFilter **filter );
00216 
00222         AIAPI AIErr (*NewBufferDataFilter) ( size_t size, AIDataFilter **filter );
00223 
00236         AIAPI AIErr (*NewHexdecDataFilter) ( char *state, ai::int32 shift, AIDataFilter **filter );
00237 
00244         AIAPI AIErr (*NewBlockDataFilter) ( void *address, size_t size, AIDataFilter **filter );
00245 
00253         AIAPI AIErr (*NewVMDataFilter) (size_t initialsize, AIDataFilter **filter );
00254 
00266         AIAPI AIErr (*NewA85DataFilter) ( char *statestr, const char* prefix, AIDataFilter **filter );
00267 
00275         AIAPI AIErr (*NewZDataFilter) ( const char *statestr, AIDataFilter **filter );
00276 
00277         /* New in Illustrator 10.0 */
00278 
00286         AIAPI AIErr (*NewPluginStream) ( AIPluginStream* stream, AIDataFilter **filter );
00287 
00288         /* New in Illustrator 13.0 */
00289 
00300         AIAPI AIErr (*NewResourceDataFilter) ( SPPluginRef plugin, ai::int32 type, ai::int32 id, const char *name, AIDataFilter **filter);
00301 
00302 };
00303 
00304 
00305 #include "AIHeaderEnd.h"
00306 
00307 
00308 #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