// 
// weatherInfo.idl                                                     
// 
// This is the interface for the weather information server.  It is a client
// of the weather station server, and provides several additional services
// including a greater range of processed weather data, more robustness in
// restarting after hardware failures, and historical data logging.
//
// This server is intended to run on a system with a proper filing system,
// while the weather station is designed to run on ATMOS.
//
// $Id: weatherInfo.idl,v 1.1 1997/08/22 17:21:21 bjh Exp bjh $
// $Author: bjh $
/*
$Log: weatherInfo.idl,v $
# Revision 1.1  1997/08/22  17:21:21  bjh
# Initial revision
#
# Revision 1.2  1995/11/02  11:35:43  krw
# Remove extraneous typedef of time_t.
#
# Revision 1.1  1995/08/30  09:28:19  krw
# Initial revision
#
*/

#pragma javaPackage "UK.co.orl.weather"

struct cumulativeWeatherInfo {
  long start;              // Beginning of interval in Unix time() format
  long end;                // End of interval in Unix time() format
  float sunshine;          // Hours of sunshine during interval.
  float rainfall;          // mm of rainfall during interval.
};

struct immediateWeatherInfo {
  short windDirection; // degrees clockwise from due North 
  short windSpeed;     // knots 
  float temperature;   // degrees Celsius
  short humidity;      // percent
  float dewpoint;      // degrees Celsius
  short pressure;      // millibars
  short sunny;         // 1 if it's sunny now, 0 otherwise
  short rainy;         // 1 if it's rainy now, 0 otherwise
};
 
interface weatherInfo {

  short windDirection();                     //
  short windSpeed();                         //
  float temperature();                       //
  short humidity();                          // Units as above.
  float dewpoint();                          //
  short pressure();                          //
  short sunny();                             //
  short rainy();                             //

  immediateWeatherInfo  immediate();         // All immediate data at once
  cumulativeWeatherInfo cumulative();        // Sunshine and rainfall
};  




