/*
   b_ptr_utimbuf.h   Generated by the Ballista(tm) Project data object compiler
   Copyright (C) 1998-2001  Carnegie Mellon University

   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, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

   File generated Tuesday, May 22 at 08:02 PM EDT

TITLE
   b_ptr_utimbuf.h
*/

//include control
#ifndef B_PTR_UTIMBUF_H
#define B_PTR_UTIMBUF_H
#include <errno.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <stream.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "bTypes.h"

#define structUtimbufPtr struct utimbuf *
#include <sys/types.h>
#include <sys/time.h>
#include <utime.h>
#include "b_ptr_buf.h"

#define CLASSTYPE structUtimbufPtr
#define CLASSNAME b_ptr_utimbuf
#define CLASS_STRING "b_ptr_utimbuf"
#define CLASSPARENT b_ptr_buf
#define NUMBER_OF_DIALS 2


class CLASSNAME:public CLASSPARENT
{
private:
  //CLASS DIAL SETTING STRING VARIABLES
  b_param _b_ptr_utimbufTYPENAME;
b_param _b_ptr_utimbufA_NOW;
int b_ptr_utimbuf_a_now;
b_param _b_ptr_utimbufA_TOMORROW;
int b_ptr_utimbuf_a_tomorrow;
b_param _b_ptr_utimbufA_NEXTWEEK;
int b_ptr_utimbuf_a_nextweek;
b_param _b_ptr_utimbufA_NEXTMONTH;
int b_ptr_utimbuf_a_nextmonth;
b_param _b_ptr_utimbufA_NEXTYEAR;
int b_ptr_utimbuf_a_nextyear;
b_param _b_ptr_utimbufA_NEXTDECADE;
int b_ptr_utimbuf_a_nextdecade;
b_param _b_ptr_utimbufA_NEXTCENTURY;
int b_ptr_utimbuf_a_nextcentury;
b_param _b_ptr_utimbufA_NEXTMILLENIUM;
int b_ptr_utimbuf_a_nextmillenium;
b_param _b_ptr_utimbufA_Y2K;
int b_ptr_utimbuf_a_y2k;
b_param _b_ptr_utimbufA_Y2K_MINUS_ONE;
int b_ptr_utimbuf_a_y2k_minus_one;
b_param _b_ptr_utimbufA_Y2K_PLUS_ONE;
int b_ptr_utimbuf_a_y2k_plus_one;
b_param _b_ptr_utimbufA_MAX;
int b_ptr_utimbuf_a_max;
b_param _b_ptr_utimbufA_MIN;
int b_ptr_utimbuf_a_min;
b_param _b_ptr_utimbufM_NOW;
int b_ptr_utimbuf_m_now;
b_param _b_ptr_utimbufM_TOMORROW;
int b_ptr_utimbuf_m_tomorrow;
b_param _b_ptr_utimbufM_NEXTWEEK;
int b_ptr_utimbuf_m_nextweek;
b_param _b_ptr_utimbufM_NEXTMONTH;
int b_ptr_utimbuf_m_nextmonth;
b_param _b_ptr_utimbufM_NEXTYEAR;
int b_ptr_utimbuf_m_nextyear;
b_param _b_ptr_utimbufM_NEXTDECADE;
int b_ptr_utimbuf_m_nextdecade;
b_param _b_ptr_utimbufM_NEXTCENTURY;
int b_ptr_utimbuf_m_nextcentury;
b_param _b_ptr_utimbufM_NEXTMILLENIUM;
int b_ptr_utimbuf_m_nextmillenium;
b_param _b_ptr_utimbufM_Y2K;
int b_ptr_utimbuf_m_y2k;
b_param _b_ptr_utimbufM_Y2K_MINUS_ONE;
int b_ptr_utimbuf_m_y2k_minus_one;
b_param _b_ptr_utimbufM_Y2K_PLUS_ONE;
int b_ptr_utimbuf_m_y2k_plus_one;
b_param _b_ptr_utimbufM_MAX;
int b_ptr_utimbuf_m_max;
b_param _b_ptr_utimbufM_MIN;
int b_ptr_utimbuf_m_min;
  //TYPE VARIABLE TO SAVE VALUE FOR DESTRUCTION
  CLASSTYPE _theVariable;

 public:
  //CLASS DIAL SETTING STRING ACCESS METHODS
b_param *b_ptr_utimbufA_NOW();
b_param *b_ptr_utimbufA_TOMORROW();
b_param *b_ptr_utimbufA_NEXTWEEK();
b_param *b_ptr_utimbufA_NEXTMONTH();
b_param *b_ptr_utimbufA_NEXTYEAR();
b_param *b_ptr_utimbufA_NEXTDECADE();
b_param *b_ptr_utimbufA_NEXTCENTURY();
b_param *b_ptr_utimbufA_NEXTMILLENIUM();
b_param *b_ptr_utimbufA_Y2K();
b_param *b_ptr_utimbufA_Y2K_MINUS_ONE();
b_param *b_ptr_utimbufA_Y2K_PLUS_ONE();
b_param *b_ptr_utimbufA_MAX();
b_param *b_ptr_utimbufA_MIN();
b_param *b_ptr_utimbufM_NOW();
b_param *b_ptr_utimbufM_TOMORROW();
b_param *b_ptr_utimbufM_NEXTWEEK();
b_param *b_ptr_utimbufM_NEXTMONTH();
b_param *b_ptr_utimbufM_NEXTYEAR();
b_param *b_ptr_utimbufM_NEXTDECADE();
b_param *b_ptr_utimbufM_NEXTCENTURY();
b_param *b_ptr_utimbufM_NEXTMILLENIUM();
b_param *b_ptr_utimbufM_Y2K();
b_param *b_ptr_utimbufM_Y2K_MINUS_ONE();
b_param *b_ptr_utimbufM_Y2K_PLUS_ONE();
b_param *b_ptr_utimbufM_MAX();
b_param *b_ptr_utimbufM_MIN();
  //CLASS CONSTRUCTOR
  CLASSNAME();

public:
  //Mandatory Methods
  b_param *typeName();           //returns the type of parameter
  virtual void *access(b_param data[]);
  virtual int commit(b_param tname);
  virtual int cleanup(b_param tname);
  
  virtual int numDials(b_param tname);
  virtual int numItems(b_param tname,int dialNumber);
  virtual b_param *paramName(b_param tname,int dialNumber, int position);

  virtual int distanceFromBase();
  virtual void typeList(b_param list[],int num);
  
};



#endif      //CLASSNAME_H
