Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.6 KiB

  1. //=================================================================
  2. //
  3. // binding.h -- Generic association class
  4. //
  5. // Copyright 1999 Microsoft Corporation
  6. //
  7. //=================================================================
  8. #pragma once
  9. class CBinding : public CAssociation
  10. {
  11. public:
  12. CBinding(
  13. LPCWSTR pwszClassName,
  14. LPCWSTR pwszNamespaceName,
  15. LPCWSTR pwszLeftClassName,
  16. LPCWSTR pwszRightClassName,
  17. LPCWSTR pwszLeftPropertyName,
  18. LPCWSTR pwszRightPropertyName,
  19. LPCWSTR pwszLeftBindingPropertyName,
  20. LPCWSTR pwszRightBindingPropertyName
  21. );
  22. ~CBinding();
  23. protected:
  24. BOOL AreRelated(
  25. const CInstance *pLeft,
  26. const CInstance *pRight
  27. );
  28. HRESULT GetLeftInstances(
  29. MethodContext *pMethodContext,
  30. TRefPointerCollection<CInstance> &lefts
  31. );
  32. HRESULT GetRightInstances(
  33. MethodContext *pMethodContext,
  34. TRefPointerCollection<CInstance> *lefts
  35. );
  36. virtual HRESULT RetrieveLeftInstance(
  37. LPCWSTR lpwszObjPath,
  38. CInstance **ppInstance,
  39. MethodContext *pMethodContext
  40. );
  41. virtual HRESULT RetrieveRightInstance(
  42. LPCWSTR lpwszObjPath,
  43. CInstance **ppInstance,
  44. MethodContext *pMethodContext
  45. );
  46. LPCWSTR m_pwszLeftBindingPropertyName;
  47. LPCWSTR m_pwszRightBindingPropertyName;
  48. };
  49. bool WINAPI CompareVariantsNoCase(const VARIANT *v1, const VARIANT *v2);