// Copyright (c) 1999-2000 David Muse
// See the COPYING file for more information
#ifndef INTERFACE_H
#define INTERFACE_H
#include <inputoutput.h>
#include <private/formentry.h>
// The interface class enables a single application to have different
// look/feel/layout/functionality depending on the interface applied.
class interface : virtual public inputoutput {
public:
interface();
virtual ~interface();
void initInterface(char *site, char *package,
char *interface, char *app);
// Process the
// file: /usr/local/web/"site"/"package"/interfaces/"interface"/app.ifc
// for interface parameters.
// the file should look like this:
//
// attribute1 = "value1"
// attribute2 = "value2"
// attribute3 = "value3"
//
// If a value must contain a " then it can be escaped
// with a \. If a value must contain a \ then it too
// can be escaped by a \.
// Values are taken to be anything between the quotes,
// including carriage returns.
char *interfaceEntry(char *name);
// returns the value of attribute: "name"
void writeInterfaceEntry(char *name);
// writes the value of attribute: "name" to the browser
void dumpInterfaceEntries();
// dumps all attribute/value pairs to the browser
char *interfaceFile();
// returns the full pathname of the interface file
private:
#include <private/interface.h>
};
#endif