/*! @header FTGraphVisitor @abstract Module of FT @availability OS X, GNUstep @copyright 2004, 2005, 2006 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  -------------------------------------------------------------------------
  Modification history

  16.06.06 ola     initial version
  23.08.06 ola     license changed
  -------------------------------------------------------------------------
  
*/ #if !defined(__FTGraphVisitor_H) #define __FTGraphVisitor_H #include #include /*! * @class FTGraphVisitor * @abstract This class is used to iterate through the content of a graph * and to store this content in an xml file */ @interface FTGraphVisitor : FTObject { @private id session; id graphIdString; NSString *exportDir; NSString *baseExportFilename; id objectToIdMapper; id graphManager; id graphId; id graph; int encoding; unsigned blobFileIdCounter; } + (NSFileHandle *) createFile: (NSString *) filename; + (void) writeXMLHeaderIntoFile: (NSFileHandle *) fileHandle forGraphId: (NSString *) aGraphId hasToCreateGraph: (BOOL) toCreateGraph encoding: (int) anEncoding; + (void) writeXMLFooterIntoFile: (NSFileHandle *) fileHandle encoding: (int) anEncoding; - initForSession: (id ) aSession graphId: (id) aGraphId exportDirectory: (NSString *) dir baseFilename: (NSString *) baseFilename encoding: (int) anEncoding; - (void) dealloc; - exportContent; - exportGraphXml; - exportNodeIds; - writeBlobEntriesOfNode: (id ) node usingFileHandle: (NSFileHandle *) fileHandle; - (NSString *) writeKey: (id ) aKey withValue: (id ) value; - olacheck; @end #endif