50class KOFFICECORE_EXPORT KoFilterChain :
public TDEShared
55 friend class KoFilterManager;
58 typedef TDESharedPtr<KoFilterChain> Ptr;
60 virtual ~KoFilterChain();
65 const KoFilterManager*
manager()
const {
return m_manager; }
79 TQString chainOutput()
const;
90 TQString outputFile();
102 KoStoreDevice* storageFile(
const TQString& name =
"root", KoStore::Mode mode = KoStore::Read );
129 void appendChainLink( KoFilterEntry::Ptr filterEntry,
const TQCString& from,
const TQCString& to );
130 void prependChainLink( KoFilterEntry::Ptr filterEntry,
const TQCString& from,
const TQCString& to );
137 friend void KoEmbeddingFilter::filterChainEnterDirectory(
const TQString& directory )
const;
138 void enterDirectory(
const TQString& directory );
139 friend void KoEmbeddingFilter::filterChainLeaveDirectory()
const;
140 void leaveDirectory();
145 TQString filterManagerImportFile()
const;
146 TQString filterManagerExportFile()
const;
148 int filterManagerDirection()
const;
158 bool createTempFile( KTempFile** tempFile,
bool autoDelete =
true );
160 void inputFileHelper(
KoDocument* document,
const TQString& alternativeFile );
161 void outputFileHelper(
bool autoDelete );
163 KoStoreDevice* storageHelper(
const TQString& file,
const TQString& streamName,
165 void storageInit(
const TQString& file, KoStore::Mode mode,
KoStore** storage );
170 KoDocument* createDocument(
const TQString& file );
171 KoDocument* createDocument(
const TQCString& mimeType );
182 ChainLink(
KoFilterChain* chain, KoFilterEntry::Ptr filterEntry,
183 const TQCString& from,
const TQCString& to );
187 TQCString from()
const {
return m_from; }
188 TQCString to()
const {
return m_to; }
195 int lruPartIndex()
const;
198 ChainLink(
const ChainLink& rhs );
199 ChainLink& operator=(
const ChainLink& rhs );
201 void setupCommunication(
const KoFilter*
const parentFilter )
const;
202 void setupConnections(
const KoFilter* sender,
const TQStrList& sigs,
203 const KoFilter* receiver,
const TQStrList& sl0ts )
const;
205 KoFilterChain* m_chain;
206 KoFilterEntry::Ptr m_filterEntry;
207 TQCString m_from, m_to;
219 enum Whole { Beginning = 1, Middle = 2, End = 4, Done = 8 };
222 KoFilterChain(
const KoFilterChain& rhs );
223 KoFilterChain& operator=(
const KoFilterChain& rhs );
225 const KoFilterManager*
const m_manager;
226 TQPtrList<ChainLink> m_chainLinks;
231 TQString m_inputFile;
232 TQString m_outputFile;
234 KoStore* m_inputStorage;
235 KoStoreDevice* m_inputStorageDevice;
236 KoStore* m_outputStorage;
237 KoStoreDevice* m_outputStorageDevice;
239 KoDocument* m_inputDocument;
240 KoDocument* m_outputDocument;
242 KTempFile* m_inputTempFile;
243 KTempFile* m_outputTempFile;
247 enum IOState { Nil, File, Storage, Document };
248 IOState m_inputQueried, m_outputQueried;
255 TQStringList m_internalEmbeddingDirectories;
370 class KOFFICECORE_EXPORT Graph
374 Graph(
const TQCString& from );
377 bool isValid()
const {
return m_graphValid; }
379 TQCString sourceMimeType()
const {
return m_from; }
380 void setSourceMimeType(
const TQCString& from );
387 KoFilterChain::Ptr chain(
const KoFilterManager* manager, TQCString& to )
const;
393 Graph(
const Graph& rhs );
394 Graph& operator=(
const Graph& rhs );
397 void shortestPaths();
398 TQCString findKOfficePart()
const;
400 TQAsciiDict<Vertex> m_vertices;