view mde/file/mergetag/iface/IReader.d @ 81:d8fccaa45d5f

Moved file IO code from mde/mergetag to mde/file[/mergetag] and changed how some errors are caught.
author Diggory Hardy <diggory.hardy@gmail.com>
date Fri, 29 Aug 2008 11:59:43 +0100
parents mde/mergetag/iface/IReader.d@611f7b9063c6
children 56c0ddd90193
line wrap: on
line source

/* LICENSE BLOCK
Part of mde: a Modular D game-oriented Engine
Copyright © 2007-2008 Diggory Hardy

This program is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation, either
version 2 of the License, or (at your option) any later version.

This program 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>. */

/**
* Interface for readers.
*/
module mde.file.mergetag.iface.IReader;

import mde.file.mergetag.DataSet;

import tango.util.collection.model.View : View;

/** Interface for all mergetag readers (MTTReader etc.).
*/
interface IReader {
    DataSet dataset ();                 /// Get the DataSet
    void dataset (DataSet);             /// Set the DataSet
    
    void dataSecCreator (IDataSection delegate (ID));   /// Set the dataSecCreator
    
    ID[] getSectionNames ();            /// Get identifiers for all sections
    void read ();                       /// Commence reading
    void read (ID[] secSet);            /// ditto
    void read (View!(ID) secSet);       /// ditto
}