/Source/externals/GData/Source/ACL/GDataEntryACL.h

http://google-email-uploader-mac.googlecode.com/ · C++ Header · 79 lines · 41 code · 20 blank · 18 comment · 3 complexity · d6bf43200e89369bc708ca3922d82341 MD5 · raw file

  1. /* Copyright (c) 2007 Google Inc.
  2. *
  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. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. //
  16. // GDataEntryACL.h
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_ACLS \
  19. || GDATA_INCLUDE_CALENDAR_SERVICE || GDATA_INCLUDE_DOCS_SERVICE
  20. #import "GDataEntryBase.h"
  21. #undef _EXTERN
  22. #undef _INITIALIZE_AS
  23. #ifdef GDATAENTRYACL_DEFINE_GLOBALS
  24. #define _EXTERN
  25. #define _INITIALIZE_AS(x) =x
  26. #else
  27. #define _EXTERN GDATA_EXTERN
  28. #define _INITIALIZE_AS(x)
  29. #endif
  30. _EXTERN NSString* const kGDataCategoryACL _INITIALIZE_AS(@"http://schemas.google.com/acl/2007#accessRule");
  31. _EXTERN NSString* const kGDataNamespaceACL _INITIALIZE_AS(@"http://schemas.google.com/acl/2007");
  32. _EXTERN NSString* const kGDataNamespaceACLPrefix _INITIALIZE_AS(@"gAcl");
  33. _EXTERN NSString* const kGDataLinkRelACL _INITIALIZE_AS(@"http://schemas.google.com/acl/2007#accessControlList");
  34. _EXTERN NSString* const kGDataLinkRelControlledObject _INITIALIZE_AS(@"http://schemas.google.com/acl/2007#controlledObject");
  35. @class GDataACLRole;
  36. @class GDataACLScope;
  37. @class GDataACLKeyedRole;
  38. @class GDataACLAdditionalRole;
  39. #import "GDataCategory.h"
  40. @interface GDataEntryACL : GDataEntryBase
  41. + (NSDictionary *)ACLNamespaces;
  42. + (id)ACLEntryWithScope:(GDataACLScope *)scope
  43. role:(GDataACLRole *)role;
  44. - (void)setRole:(GDataACLRole *)obj;
  45. - (GDataACLRole *)role;
  46. - (void)setKeyedRole:(GDataACLKeyedRole *)obj;
  47. - (GDataACLKeyedRole *)keyedRole;
  48. - (NSArray *)additionalRoles;
  49. - (void)setAdditionalRoles:(NSArray *)array;
  50. - (void)addAdditionalRole:(GDataACLAdditionalRole *)obj;
  51. - (void)setScope:(GDataACLScope *)obj;
  52. - (GDataACLScope *)scope;
  53. // convenience accessors
  54. - (GDataLink *)controlledObjectLink;
  55. @end
  56. @interface GDataEntryBase (GDataACLLinks)
  57. - (GDataLink *)ACLLink;
  58. @end
  59. #endif // !GDATA_REQUIRE_SERVICE_INCLUDE || GDATA_INCLUDE_*