00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects Software Inc 00008 * 123 Front Street West, Suite 1401 00009 * Toronto, Ontario 00010 * Canada M5J 2M2 00011 * 416-504-9876 00012 * 00013 * NAME: IFD_IPRData.h ( IFD Library, C++) 00014 * 00015 * COMMENTS: Data associated with an IFD_IPRTree. This is data which is 00016 * specific to the renderer. The class can hold things like the 00017 * cache filename, a file descriptor to a pipe, parameters to 00018 * control the cache. All sorts of stuff. 00019 */ 00020 00021 #ifndef __IFD_IPRData__ 00022 #define __IFD_IPRData__ 00023 00024 #include "IFD_API.h" 00025 00026 class IFD_IPRTree; 00027 class IFD_StreamEvent; 00028 00029 class IFD_API IFD_IPRData { 00030 public: 00031 IFD_IPRData(); 00032 virtual ~IFD_IPRData(); 00033 00034 virtual const char *className() const = 0; 00035 00036 // If the startRender() or finishRender() methods return false, then the 00037 // render was considered to have an error. 00038 virtual bool startRender(); 00039 virtual bool finishRender(int status); 00040 00041 // Some renders (i.e. irma) require the stream to be left open at the 00042 // conclusion of the render. If this is the case, this method is called 00043 // after the stream is sent to the renderer. status is the success code so 00044 // far. 00045 virtual bool leaveStreamOpen(int status) const; 00046 00047 // The stream events are passed down from the IPR tree. The sub-class 00048 // doesn't have to indicate interest in the events. They are just here for 00049 // convenience. 00050 virtual void handleStreamEvent(IFD_IPRTree &tree, 00051 IFD_StreamEvent &event); 00052 }; 00053 00054 #endif
1.5.9