view mde/file/mergetag/iface/IReader.d @ 85:56c0ddd90193

Intermediate commit (not stable). Changes to init system.
author Diggory Hardy <diggory.hardy@gmail.com>
date Thu, 11 Sep 2008 11:33:51 +0100
parents d8fccaa45d5f
children
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;

public import tango.util.container.model.IContainer;

/** 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 (IContainer!(ID) secSet);       /// ditto
}