ICP  1
selog.h
Go to the documentation of this file.
1 // selog.h : Declaration of the Cselog
2 
3 #pragma once
4 #include "resource.h" // main symbols
5 
6 #include "selogcom.h"
7 
8 
9 
10 
11 // Cselog
12 
13 class ATL_NO_VTABLE Cselog :
14  public CComObjectRootEx<CComMultiThreadModel>,
15  public CComCoClass<Cselog, &CLSID_selog>,
16  public ISupportErrorInfo,
17  public IDispatchImpl<Iselog, &IID_Iselog, &LIBID_selogcomLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
18 {
19 public:
21  {
22  }
23 
24 DECLARE_REGISTRY_RESOURCEID(IDR_SELOG)
25 
26 
27 BEGIN_COM_MAP(Cselog)
28  COM_INTERFACE_ENTRY(Iselog)
29  COM_INTERFACE_ENTRY(IDispatch)
30  COM_INTERFACE_ENTRY(ISupportErrorInfo)
31 END_COM_MAP()
32 
33 // ISupportsErrorInfo
34  STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
35 
36 
37  DECLARE_PROTECT_FINAL_CONSTRUCT()
38 
39  HRESULT FinalConstruct()
40  {
41  return S_OK;
42  }
43 
44  void FinalRelease()
45  {
46  }
47 
48 public:
49 
50  STDMETHOD(SELogValue)(LONG run_number, BSTR source, BSTR iso_time, BSTR block_name, BSTR block_value);
51  STDMETHOD(SEClose)(void);
52  STDMETHOD(SENewSECIConfig)(BSTR config_name);
53  STDMETHOD(SESetBlockValue)(BSTR block_name, BSTR block_value);
54  STDMETHOD(SESetBlockDetails)(BSTR block_name, BSTR setpoint_value, BSTR vi_name, BSTR read_control_label, BSTR set_control_label, BSTR button_control_label, LONG options, BSTR nexus_name, FLOAT low_limit, FLOAT high_limit, BSTR units, BSTR current_value);
55  STDMETHOD(SENewMeasurement)(BSTR label, BSTR* id);
56  STDMETHOD(SEGetMeasurementLabel)(BSTR id, BSTR* label);
57  STDMETHOD(SESetBlockValues)(VARIANT block_names, VARIANT block_values);
58  STDMETHOD(SELogValues)(LONG run_number, BSTR source, VARIANT iso_times, VARIANT block_names, VARIANT block_values);
59  STDMETHOD(SEGetMeasurementID)(BSTR label, BSTR* measurement_id);
60  STDMETHOD(SESetMeasurementLabel)(BSTR measurement_id, BSTR label);
61  STDMETHOD(SESetBlockSetpoint)(BSTR block_name, BSTR block_setpoint);
62  STDMETHOD(SESetBlockSetpoints)(VARIANT block_names, VARIANT block_setpoints);
63  STDMETHOD(SEGetSECIConfig)(BSTR* seci_config);
64  STDMETHOD(SELogValuesAsync)(LONG run_number, BSTR source, VARIANT iso_times, VARIANT block_names, VARIANT block_values);
65  STDMETHOD(SEGetValues)(LONG run_number, BSTR source, BSTR block_name, VARIANT* iso_times, VARIANT* block_values);
66  STDMETHOD(SEClearLoggedValues)(LONG run_number);
67  STDMETHOD(SEExecSQL)(BSTR sql, BSTR* result);
68 };
69 
70 OBJECT_ENTRY_AUTO(__uuidof(selog), Cselog)
#define IDR_SELOG
Definition: Resource.h:7
void FinalRelease()
Definition: selog.h:44
Cselog()
Definition: selog.h:20
Definition: selog.h:13