Period.h
Go to the documentation of this file.00001
00009 #ifndef __PERIOD_H__
00010 #define __PERIOD_H__
00011
00012 #if _MSC_VER > 1000
00013 #pragma once
00014 #endif // _MSC_VER > 1000
00015
00016 #include "PKIFdll.h"
00017
00018 FD_SMART_PTR(CPKIFTime);
00019 FD_SMART_PTR(CPKIFDuration);
00020 struct _CPKIFPeriodImpl;
00021 struct _CPKIFPeriodData;
00022
00029 class CAC_API CPKIFPeriod
00030 {
00031 public:
00032
00033
00034
00035
00036 CPKIFPeriod();
00037 CPKIFPeriod(CPKIFTimePtr& start_, CPKIFTimePtr& end_);
00038 CPKIFPeriod(CPKIFTimePtr& start_, CPKIFDurationPtr& duration_);
00039 CPKIFPeriod(CPKIFPeriod& time_);
00040 ~CPKIFPeriod();
00041
00042
00043
00044
00045
00046 CPKIFTimePtr start() const;
00047 void start(CPKIFTimePtr& start_);
00048
00049 CPKIFTimePtr end() const;
00050 void end(CPKIFTimePtr& end_);
00051
00052 CPKIFDurationPtr duration() const;
00053
00054 bool contains(CPKIFTimePtr& time_) const;
00055 bool contains(CPKIFTimePtr& time_, CPKIFDurationPtr& skew_) const;
00056
00057
00058
00059
00060
00061
00062
00063
00064 CPKIFPeriod& operator=(const CPKIFPeriod& period_);
00065
00066 protected:
00067 struct _CPKIFPeriodImpl*& impl() const;
00068
00069 private:
00070 struct _CPKIFPeriodData* m_pData;
00071 };
00072
00073
00074 struct _CPKIFPeriodData
00075 {
00076 CPKIFTimePtr start;
00077 CPKIFTimePtr end;
00078 };
00080 struct _CPKIFPeriodImpl
00081 {
00082 _CPKIFPeriodImpl();
00083 _CPKIFPeriodImpl(const _CPKIFPeriodImpl & another_ );
00084 struct _CPKIFPeriodImpl & operator=(const struct _CPKIFPeriodImpl & another_);
00085 CPKIFTimePtr m_start;
00086 CPKIFTimePtr m_end;
00087 };
00089 #endif //__PERIOD_H__
00090