// $Source: /usr/local/SimSoft/Sfx3D/src/gts/gtstmw.h,v $
// $Revision: 1.2 $
// $Author: baum $
// $Date: 2001/11/29 15:18:10 $
//
// Login name of the user who locked the revision
// $Locker:  $
// Tag name used to checkout the file
// $Name: Release-14 $
// State assigned to revision
// $State: Exp $
//
//
// $Log: gtstmw.h,v $
// Revision 1.2  2001/11/29 15:18:10  baum
// -Realzeitsteuerung eingebaut
// -Handsteuerung eingebaut
//

#ifndef _GTSTMW_H
#define _GTSTMW_H     1

#include "Strings.h"
#include "gtstbv.h"
#include "gtsglob.h"

class Messwert  {
 public:
    Messwert& operator = (const Messwert& copy);
    unsigned getRegistrierung () const;
    unsigned getMesswert () const;
    void     setMesswert (const unsigned mw);
 protected:
    Messwert  ();
    Messwert  (const Messwert& copy);
    virtual  ~Messwert ();


    virtual void readMW  (InputFile& fin) = 0;
    virtual void writeMW (ostream& ostrm) const = 0;

    unsigned ObjSatzCode;
    unsigned ObjArtRegistrierung;
    unsigned ObjDarstellung;
    unsigned ObjBereich;
    unsigned ObjErfassung;
};  // ENDE Messwert

//==================================================================
class BstMesswert : public Messwert {
  public:
    BstMesswert  ();
    BstMesswert  (unsigned regart);
    BstMesswert  (const BstMesswert& copy);
    ~BstMesswert ();

    void operator = (const BstMesswert& copy);

    virtual void readMW  (InputFile& fin);
    virtual void writeMW (ostream& ostrm) const;
 protected:
};  // ENDE BstMesswert

//==================================================================
class ArbeitsplanMesswert : public Messwert {
  public:
    ArbeitsplanMesswert  ();
    ArbeitsplanMesswert  (unsigned regart);
    ArbeitsplanMesswert  (const ArbeitsplanMesswert& copy);
    ~ArbeitsplanMesswert ();
    void operator = (const ArbeitsplanMesswert& copy);

    virtual void readMW  (InputFile& fin);
    virtual void writeMW (ostream& ostrm) const;

 protected:
};  // ENDE BstMesswert

#endif /* _GTSTMW */
