Adobe.com
Contents Suites Classes Class Index Member Index

AIDataFilter.h

Go to the documentation of this file.
00001 #pragma once
00002 
00003 /*
00004  *        Name: AIDataFilter.h
00005  *      Author:
00006  *        Date:
00007  *     Purpose: Adobe Illustrator Data Filter Suite.
00008  *
00009  * ADOBE SYSTEMS INCORPORATED
00010  * Copyright 1986-2018 Adobe Systems Incorporated.
00011  * All rights reserved.
00012  *
00013  * NOTICE:  Adobe permits you to use, modify, and distribute this file 
00014  * in accordance with the terms of the Adobe license agreement 
00015  * accompanying it. If you have received this file from a source other 
00016  * than Adobe, then your use, modification, or distribution of it 
00017  * requires the prior written permission of Adobe.
00018  *
00019  */
00020 
00021 
00022 /*******************************************************************************
00023  **
00024  **     Imports
00025  **
00026  **/
00027 
00028 #ifndef __AITypes__
00029 #include "AITypes.h"
00030 #endif
00031 
00032 #include "AIFilePath.h"
00033 
00034 #include "AIHeaderBegin.h"
00035 
00038 /*******************************************************************************
00039  **
00040  **     Constants
00041  **
00042  **/
00043 
00045 #define kAIDataFilterSuite                              "AI Data Filter Suite"
00046 
00047 #define kAIDataFilterSuiteVersion9              AIAPI_VERSION(9)
00048 
00050 #define kAIDataFilterSuiteVersion               kAIDataFilterSuiteVersion9
00051 #define kAIDataFilterVersion                    kAIDataFilterSuiteVersion
00052 
00053 
00055 #define kDataFilterErr                                  'DFER'
00056 
00057 
00058 /*******************************************************************************
00059  **
00060  **     Types
00061  **
00062  **/
00064 typedef struct DataFilter AIDataFilter;
00065 
00069 typedef struct _t_AIPluginStream {
00077         AIAPI AIErr (*ReadProc) ( struct _t_AIPluginStream* stream, char* buffer, size_t* count );
00083         AIAPI AIErr (*WriteProc) ( struct _t_AIPluginStream* stream, const char* buffer, size_t count );
00088         AIAPI AIErr (*SeekProc) ( struct _t_AIPluginStream* stream, ai::sizediff_t count );
00093         AIAPI AIErr (*MarkProc) ( struct _t_AIPluginStream* stream, ai::sizediff_t *count );
00097         AIAPI AIErr (*TerminateProc) ( struct _t_AIPluginStream* stream );
00098 } AIPluginStream;
00099 
00100 
00101 /*******************************************************************************
00102  **
00103  **     Suite
00104  **
00105  **/
00106 
00156 struct AIDataFilterSuite {
00157 
00165         AIAPI AIErr (*LinkDataFilter) ( AIDataFilter *prev, AIDataFilter *next );
00166 
00173         AIAPI AIErr (*UnlinkDataFilter) ( AIDataFilter *next, AIDataFilter **prev );
00174 
00182         AIAPI AIErr (*ReadDataFilter) ( AIDataFilter *filter, char *store, size_t *count );
00183 
00189         AIAPI AIErr (*WriteDataFilter) ( AIDataFilter *filter, const char *store, size_t *count );
00190 
00196         AIAPI AIErr (*SeekDataFilter) ( AIDataFilter *filter, ai::sizediff_t *count );
00197 
00203         AIAPI AIErr (*MarkDataFilter) ( AIDataFilter *filter, ai::sizediff_t *count );
00204 
00213         AIAPI AIErr (*NewFileDataFilter) ( const ai::FilePath &spec, const char *mode, size_t creator, ai::int32 type, AIDataFilter **filter );
00214 
00220         AIAPI AIErr (*NewBufferDataFilter) ( size_t size, AIDataFilter **filter );
00221 
00234         AIAPI AIErr (*NewHexdecDataFilter) ( const char *state, ai::int32 shift, AIDataFilter **filter );
00235 
00242         AIAPI AIErr (*NewBlockDataFilter) ( void *address, size_t size, AIDataFilter **filter );
00243 
00251         AIAPI AIErr (*NewVMDataFilter) (size_t initialsize, AIDataFilter **filter );
00252 
00264         AIAPI AIErr (*NewA85DataFilter) ( const char *statestr, const char* prefix, AIDataFilter **filter );
00265 
00273         AIAPI AIErr (*NewZDataFilter) ( const char *statestr, AIDataFilter **filter );
00274 
00282         AIAPI AIErr (*NewZStdDataFilter) ( const char *statestr, AIDataFilter **filter );
00283 
00291         AIAPI AIErr (*NewPluginStream) ( AIPluginStream* stream, AIDataFilter **filter );
00292 
00303         AIAPI AIErr (*NewResourceDataFilter) ( SPPluginRef plugin, ai::int32 type, ai::int32 id, const char *name, AIDataFilter **filter);
00304 
00317         AIAPI AIErr (*NewAsyncDataFilter) (const char *statestr, AIDataFilter *asyncFilter, const ai::uint32 prefetchSize, const ai::uint32 outputSize, AIDataFilter **filter);
00318 };
00319 
00320 
00321 #include "AIHeaderEnd.h"
00322 


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