1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef ECPROPERTYENTRY_H
- #define ECPROPERTYENTRY_H
- #include <kopano/zcdefs.h>
- #include <mapidefs.h>
- #include <mapicode.h>
- #include "ECInvariantChecker.h"
- class ECProperty _kc_final {
- public:
- ECProperty(const ECProperty &Property);
- ECProperty(const SPropValue *);
- ~ECProperty();
- HRESULT CopyFrom(const SPropValue *);
- HRESULT CopyTo(LPSPropValue lpsProp, void *lpBase, ULONG ulPropTag);
- HRESULT CopyToByRef(LPSPropValue lpsProp) const;
-
- bool operator==(const ECProperty &property) const;
- SPropValue GetMAPIPropValRef(void) const;
- ULONG GetSize() const { return ulSize; }
- ULONG GetPropTag() const { return ulPropTag; }
- DWORD GetLastError() const { return dwLastError; }
- DECL_INVARIANT_CHECK
- private:
- DECL_INVARIANT_GUARD(ECProperty)
- HRESULT CopyFromInternal(const SPropValue *);
- ULONG ulSize;
- ULONG ulPropTag;
- union __UPV Value;
- DWORD dwLastError;
- };
- class ECPropertyEntry _kc_final {
- public:
- ECPropertyEntry(ULONG ulPropTag);
- ECPropertyEntry(ECProperty *property);
- ~ECPropertyEntry();
- HRESULT HrSetProp(ECProperty *property);
- HRESULT HrSetProp(const SPropValue *);
- HRESULT HrSetClean();
- ECProperty * GetProperty() { return lpProperty; }
- ULONG GetPropTag() const { return ulPropTag; }
- void DeleteProperty();
- BOOL FIsDirty() const { return fDirty; }
- BOOL FIsLoaded() const { return lpProperty != NULL; }
- DECL_INVARIANT_CHECK
- private:
- DECL_INVARIANT_GUARD(ECPropertyEntry)
- ECProperty *lpProperty;
- ULONG ulPropTag;
- BOOL fDirty = true;
- };
- #endif
|