00001 
00002 
00003 #ifndef _CIProxie_h_
00004 #define _CIProxie_h_
00005 
00006 #if __GNUG__ >= 2
00007 #  pragma interface
00008 #endif
00009 
00010 #include "GetExt_common.h"
00011 
00012 
00013 #define RED     0
00014 #define GREEN   1
00015 #define YELLOW  2
00016 
00017 
00018 #define NONE            0
00019 #define METVERDE        1
00020 #define METFLUJO        2
00021 #define METDELAY        3
00022 
00023 #define CtrlControlNotLoaded                    -1000
00024 #define CtrlUnknownSignal                               -2002
00025 #define CtrlUnknownState                                -2003
00026 #define CtrlUnknownPhase                                -2005
00027 #define CtrlUnknownJunction                     -2007
00028 #define CtrlUnknownMet                                  -2008
00029 #define CtrlIncorrectTypeMet                    -2009
00030 #define CtrlJunctionNotControled                -2010
00031 #define CtrlMetNotControled                     -2011
00032 #define CtrlNotExternalControl                  -2012
00033 #define CtrlSameIniTimeControl                  -2013
00034 #define CtrlRemovingCurrentControl              -2014
00035 #define CtrlUnknownPhaseName                    -2015
00036 
00037 int ECIGetNumberJunctions();
00038 int ECIGetJunctionId(int numelem);
00039 char *ECIGetJunctionName(int idJunction);
00040 int ECIGetNumberSignalGroups(int idJunction);
00041 char *ECIGetLogicalNameofSignalGroup(int ajunction, int asignalgroup);
00042 
00043 int ECIGetCurrentPhase(int idJunction);
00044 int ECIGetNumberPhases(int idJunction);
00045 int ECIGetDurationsPhase(int idJunction,int idPhase,float timeSta,float *dur, float *max, float *min);
00046 int ECIGetYellowTime(int idJunction);
00047 int ECIGetOffset(int idJunction);
00048 
00049 
00050 int ECIDisableEvents(int idJunction);
00051 int ECIEnableEvents(int idJunction);
00052 int ECIChangeDirectPhase(int idJunction, int idPhase, float timeSta, float Time, float Ciclo);
00053 int ECIChangeTimingPhase(int idJunction, int idPhase, float newTime, float timeSta);
00054 
00055 int ECIChangeSignalGroupState(int idJunction, int idSignalGroup, int aState, float timeSta, float Time, float Ciclo);
00056 int ECIGetCurrentStateofSignalGroup(int idJunction, int idSignalGroup);
00057 
00058 int ECIChangeSignalGroupStatebyName(int idJunction, char *nameSignalGroup, int aState, float timeSta, float Time, float Ciclo);
00059 int ECIGetCurrentStateofSignalGroupbyName(int idJunction, char *nameSignalGroup);
00060 
00061 
00062 int ECIGetNumberMeterings();
00063 int ECIGetMeteringIdSection(int elem);
00064 char *ECIGetMeteringName(int idsection);
00065 int ECIGetMeteringId(int idsection);
00066 int ECIGetTypeMetering(int idsection);
00067 int ECIGetParametersGreenMetering(int idsection, float timeSta, float *amax, float *greenTime, float *amin,float *cicleTime, float *offset, float *yellowTime);
00068 int ECIChangeParametersGreenMetering(int idsection,float timeSta,float amax, float ngreenTime, float amin, float ncicleTime, float offset, float YellowTime);
00069 
00070 int ECIGetParametersFlowMetering(int idsection, float timeSta, float *amax, float *flow, float *amin);
00071 int ECIChangeParametersFlowMetering(int idsection, float timeSta, float amax, float flow, float amin);
00072 int ECIGetParametersDelayMetering(int idsection, float timeSta, float *avg, float *dev);
00073 int ECIChangeParametersDelayMetering(int idsection, float timeSta, float newavg, float newdev);
00074 int ECIDisableEventsMetering(int idsection);
00075 int ECIEnableEventsMetering(int idsection);
00076 int ECIChangeStateMetering(int idsection, int aState, float timeSta, float Time, float Ciclo, int identity=0);  
00077 int ECIGetCurrentStateofMetering(int idarc, int identity);
00078  
00079 int ECIGetNumberofControls();
00080 char *ECIGetNameofControl(int elemControl);
00081 float ECIGetIniTimeofControl(int elemControl);
00082 float ECIGetOffsetofControl(int elemControl);
00083 char * ECIGetNameCurrentControl();
00084 int ECIGetNumberCurrentControl();
00085 int ECIAddNewControl(char *name, float initime);
00086 int ECIRemoveControl(int elemControl);
00087 int ECIRestoringInitialDurations();
00088 
00089 int ECIGetNumberSem(int aIdArc, int aIdEnt, float timeSta);
00090 float ECIGetPositionSem(int aIdArc, int aIdEnt, int anumsem, float timeSta);
00091 int ECIGetStateSem(int aIdArc, int aIdEnt, int anumsem, float timeSta);
00092 
00093  
00094 #endif