00001
00009 #if 0
00010
00011 #ifndef _LOADSHAPE_H
00012 #define _LOADSHAPE_H
00013
00014 #include "tape.h"
00015 #include "../tape/schedule.h"
00016
00017 EXPORT void new_loadshape(MODULE *mod);
00018
00019 typedef enum {
00020 LSI_NONE = 0,
00021 LSI_TIME = 1,
00022 } e_integral;
00023
00024 typedef enum {
00025 LSP_NOT_USED = -1,
00026 LSP_DAILY = 0,
00027 LSP_HOURLY = 1,
00028 LSP_WEEKLY = 2,
00029 LSP_MONTHLY = 3,
00030 LSP_QUARTERLY = 4,
00031 LSP_YEARLY = 5
00032 } e_period;
00033
00034 typedef enum {
00035 LSS_NOT_USED = -1,
00036 LSS_EVERY_MINUTE = 0,
00037 LSS_EVERY_HOUR = 1,
00038 LSS_EVERY_DAY = 2
00039 } e_sample;
00040
00041 typedef enum {
00042 LSO_CSV = 0,
00043 LSO_SHAPE = 1,
00044 LSO_PLOT = 2,
00045 LSO_PNG = 3,
00046 LSO_JPG = 4
00047 } e_outmode;
00048
00049 class loadshape {
00050 private:
00051 TIMESTAMP next_period;
00052 TIMESTAMP next_sample;
00053
00054 TIMESTAMP sample_len;
00055 TIMESTAMP period_len;
00056
00057 schedule_list *sel_list;
00058 public:
00059 int32 interval;
00060 int32 limit;
00061 e_integral integral;
00062 e_period period;
00063 int32 period_ex;
00064 int32 samples;
00065 int32 sample_rate;
00066 e_sample sample_mode;
00067 e_outmode output_mode;
00068 char256 errmsg;
00069 char256 output_name;
00070 char256 prop;
00071 char256 selection;
00072 char1024 group;
00073 TAPESTATUS state;
00074 public:
00075 static CLASS *oclass;
00076 static loadshape *defaults;
00077
00078 loadshape(MODULE *module);
00079 int create();
00080 int init(OBJECT *parent);
00081 TIMESTAMP presync(TIMESTAMP t0, TIMESTAMP t1);
00082 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1);
00083 int commit();
00084
00085 };
00086
00087 #endif // _LOADSHAPE_H
00088
00091 #endif // zero