/core/externals/update-engine/externals/gdata-objectivec-client/Source/Clients/Docs/GDataEntryDocRevision.m

http://macfuse.googlecode.com/ · Objective C · 160 lines · 108 code · 35 blank · 17 comment · 5 complexity · fb4577d56c5625378d5ae22031b94945 MD5 · raw file

  1. /* Copyright (c) 2009 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. // GDataEntryDocRevision.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_DOCS_SERVICE
  19. #import "GDataEntryDocRevision.h"
  20. #import "GDataDocConstants.h"
  21. @implementation GDataDocPublish
  22. + (NSString *)extensionElementURI { return kGDataNamespaceDocuments; }
  23. + (NSString *)extensionElementPrefix { return kGDataNamespaceDocumentsPrefix; }
  24. + (NSString *)extensionElementLocalName { return @"publish"; }
  25. @end
  26. @implementation GDataDocPublishAuto
  27. + (NSString *)extensionElementURI { return kGDataNamespaceDocuments; }
  28. + (NSString *)extensionElementPrefix { return kGDataNamespaceDocumentsPrefix; }
  29. + (NSString *)extensionElementLocalName { return @"publishAuto"; }
  30. @end
  31. @implementation GDataDocPublishOutsideDomain
  32. + (NSString *)extensionElementURI { return kGDataNamespaceDocuments; }
  33. + (NSString *)extensionElementPrefix { return kGDataNamespaceDocumentsPrefix; }
  34. + (NSString *)extensionElementLocalName { return @"publishOutsideDomain"; }
  35. @end
  36. @implementation GDataEntryDocRevision
  37. + (NSString *)coreProtocolVersionForServiceVersion:(NSString *)serviceVersion {
  38. return [GDataDocConstants coreProtocolVersionForServiceVersion:serviceVersion];
  39. }
  40. + (NSString *)standardEntryKind {
  41. return kGDataCategoryDocRevision;
  42. }
  43. + (void)load {
  44. [self registerEntryClass];
  45. }
  46. + (id)revisionEntry {
  47. GDataEntryDocRevision *obj = [self object];
  48. [obj setNamespaces:[GDataDocConstants baseDocumentNamespaces]];
  49. return obj;
  50. }
  51. - (void)addExtensionDeclarations {
  52. [super addExtensionDeclarations];
  53. [self addExtensionDeclarationForParentClass:[self class]
  54. childClasses:
  55. [GDataDocPublish class],
  56. [GDataDocPublishAuto class],
  57. [GDataDocPublishOutsideDomain class],
  58. nil];
  59. }
  60. #if !GDATA_SIMPLE_DESCRIPTIONS
  61. - (NSMutableArray *)itemsForDescription {
  62. static struct GDataDescriptionRecord descRecs[] = {
  63. { @"publish", @"publish", kGDataDescBooleanPresent },
  64. { @"publishAuto", @"publishAuto", kGDataDescBooleanPresent },
  65. { @"publishOutsideDomain", @"publishOutsideDomain", kGDataDescBooleanPresent },
  66. { nil, nil, (GDataDescRecTypes)0 }
  67. };
  68. NSMutableArray *items = [super itemsForDescription];
  69. [self addDescriptionRecords:descRecs toItems:items];
  70. return items;
  71. }
  72. #endif
  73. #pragma mark -
  74. - (NSNumber *)publish { // BOOL
  75. GDataDocPublish *obj = [self objectForExtensionClass:[GDataDocPublish class]];
  76. return [obj boolNumberValue];
  77. }
  78. - (void)setPublish:(NSNumber *)num {
  79. GDataDocPublish *obj = [GDataDocPublish valueWithBool:[num boolValue]];
  80. [self setObject:obj forExtensionClass:[GDataDocPublish class]];
  81. }
  82. - (NSNumber *)publishAuto { // BOOL
  83. GDataDocPublishAuto *obj = [self objectForExtensionClass:[GDataDocPublishAuto class]];
  84. return [obj boolNumberValue];
  85. }
  86. - (void)setPublishAuto:(NSNumber *)num {
  87. GDataDocPublishAuto *obj = [GDataDocPublishAuto valueWithBool:[num boolValue]];
  88. [self setObject:obj forExtensionClass:[GDataDocPublishAuto class]];
  89. }
  90. - (NSNumber *)publishOutsideDomain { // BOOL
  91. GDataDocPublishOutsideDomain *obj;
  92. obj = [self objectForExtensionClass:[GDataDocPublishOutsideDomain class]];
  93. return [obj boolNumberValue];
  94. }
  95. - (void)setPublishOutsideDomain:(NSNumber *)num {
  96. GDataDocPublishOutsideDomain *obj;
  97. obj = [GDataDocPublishOutsideDomain valueWithBool:[num boolValue]];
  98. [self setObject:obj forExtensionClass:[GDataDocPublishOutsideDomain class]];
  99. }
  100. #pragma mark -
  101. - (GDataPerson *)modifyingUser {
  102. NSArray *authors = [self authors];
  103. if ([authors count] > 0) {
  104. GDataPerson *obj = [authors objectAtIndex:0];
  105. return obj;
  106. }
  107. return nil;
  108. }
  109. - (void)setModifyingUser:(GDataPerson *)obj {
  110. NSArray *authors;
  111. if (obj != nil) {
  112. authors = [NSArray arrayWithObject:obj];
  113. } else {
  114. authors = nil;
  115. }
  116. [self setAuthors:authors];
  117. }
  118. - (GDataLink *)publishedLink {
  119. return [self linkWithRelAttributeValue:kGDataDocsPublishedRel];
  120. }
  121. + (NSString *)defaultServiceVersion {
  122. return kGDataDocsDefaultServiceVersion;
  123. }
  124. @end
  125. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_DOCS_SERVICE