daldap.hpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*##############################################################################
  2. HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. ############################################################################## */
  13. #ifndef DALDAP_HPP
  14. #define DALDAP_HPP
  15. interface IUserDescriptor;
  16. #define DLF_ENABLED 0x01
  17. #define DLF_SAFE 0x02
  18. #define DLF_SCOPESCANS 0x04
  19. interface IDaliLdapConnection: extends IInterface
  20. {
  21. virtual SecAccessFlags getPermissions(const char *key,const char *obj,IUserDescriptor *udesc,unsigned auditflags)=0;
  22. virtual bool checkScopeScans() = 0;
  23. virtual unsigned getLDAPflags() = 0;
  24. virtual void setLDAPflags(unsigned flags) = 0;
  25. virtual bool clearPermissionsCache(IUserDescriptor *udesc) = 0;
  26. virtual bool enableScopeScans(IUserDescriptor *udesc, bool enable, int *err) = 0;
  27. };
  28. extern IDaliLdapConnection *createDaliSecMgrPluginConnection(IPropertyTree *proptree);
  29. extern IDaliLdapConnection *createDaliLdapConnection(IPropertyTree *proptree);
  30. #endif