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

http://macfuse.googlecode.com/ · Objective C · 195 lines · 136 code · 41 blank · 18 comment · 1 complexity · 4200462b469b9cfa0d1b62f1f40205b3 MD5 · raw file

  1. /* Copyright (c) 2010 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. // GDataEntryDocListMetadata.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_DOCS_SERVICE
  19. #import "GDataEntryDocListMetadata.h"
  20. @interface GDataQuotaBytesUsedInTrash : GDataValueElementConstruct <GDataExtension>
  21. @end
  22. @implementation GDataQuotaBytesUsedInTrash
  23. + (NSString *)extensionElementURI { return kGDataNamespaceDocuments; }
  24. + (NSString *)extensionElementPrefix { return kGDataNamespaceDocumentsPrefix; }
  25. + (NSString *)extensionElementLocalName { return @"quotaBytesUsedInTrash"; }
  26. @end
  27. @implementation GDataEntryDocListMetadata : GDataEntryBase
  28. + (NSString *)standardEntryKind {
  29. return kGDataCategoryDocListMetadata;
  30. }
  31. + (NSString *)coreProtocolVersionForServiceVersion:(NSString *)serviceVersion {
  32. return [GDataDocConstants coreProtocolVersionForServiceVersion:serviceVersion];
  33. }
  34. + (void)load {
  35. [self registerEntryClass];
  36. }
  37. - (void)addExtensionDeclarations {
  38. [super addExtensionDeclarations];
  39. [self addExtensionDeclarationForParentClass:[self class]
  40. childClasses:
  41. [GDataDocExportFormat class],
  42. [GDataDocFeature class],
  43. [GDataDocImportFormat class],
  44. [GDataDocMaxUploadSize class],
  45. [GDataQuotaBytesTotal class],
  46. [GDataQuotaBytesUsed class],
  47. [GDataQuotaBytesUsedInTrash class],
  48. [GDataDocLargestChangestamp class],
  49. nil];
  50. }
  51. #if !GDATA_SIMPLE_DESCRIPTIONS
  52. - (NSMutableArray *)itemsForDescription {
  53. static struct GDataDescriptionRecord descRecs[] = {
  54. { @"quotaTotal", @"quotaBytesTotal", kGDataDescValueLabeled },
  55. { @"quotaUsed", @"quotaBytesUsed", kGDataDescValueLabeled },
  56. { @"quotaInTrash", @"quotaBytesUsedInTrash", kGDataDescValueLabeled },
  57. { @"features", @"features", kGDataDescArrayDescs },
  58. { @"uploadSize", @"maxUploadSizes", kGDataDescValueLabeled },
  59. { @"export", @"exportFormats", kGDataDescArrayDescs },
  60. { @"import", @"importFormats", kGDataDescArrayDescs },
  61. { @"largestChangestamp", @"largestChangestamp", kGDataDescValueLabeled },
  62. { nil, nil, (GDataDescRecTypes)0 }
  63. };
  64. NSMutableArray *items = [super itemsForDescription];
  65. [self addDescriptionRecords:descRecs toItems:items];
  66. return items;
  67. }
  68. #endif
  69. + (NSString *)defaultServiceVersion {
  70. return kGDataDocsDefaultServiceVersion;
  71. }
  72. #pragma mark -
  73. // extensions
  74. - (NSArray *)exportFormats {
  75. NSArray *array = [self objectsForExtensionClass:[GDataDocExportFormat class]];
  76. return array;
  77. }
  78. - (void)setExportFormats:(NSArray *)array {
  79. [self setObjects:array forExtensionClass:[GDataDocExportFormat class]];
  80. }
  81. - (NSArray *)features {
  82. NSArray *array = [self objectsForExtensionClass:[GDataDocFeature class]];
  83. return array;
  84. }
  85. - (void)setFeatures:(NSArray *)array {
  86. [self setObjects:array forExtensionClass:[GDataDocFeature class]];
  87. }
  88. - (NSArray *)importFormats {
  89. NSArray *array = [self objectsForExtensionClass:[GDataDocImportFormat class]];
  90. return array;
  91. }
  92. - (void)setImportFormats:(NSArray *)array {
  93. [self setObjects:array forExtensionClass:[GDataDocImportFormat class]];
  94. }
  95. - (NSArray *)maxUploadSizes {
  96. NSArray *array = [self objectsForExtensionClass:[GDataDocMaxUploadSize class]];
  97. return array;
  98. }
  99. - (void)setMaxUploadSizes:(NSArray *)array {
  100. [self setObjects:array forExtensionClass:[GDataDocMaxUploadSize class]];
  101. }
  102. - (NSNumber *)quotaBytesTotal { // long long
  103. GDataQuotaBytesTotal *obj;
  104. obj = [self objectForExtensionClass:[GDataQuotaBytesTotal class]];
  105. return [obj longLongNumberValue];
  106. }
  107. - (void)setQuotaBytesTotal:(NSNumber *)num {
  108. GDataQuotaBytesTotal *obj = [GDataQuotaBytesTotal valueWithNumber:num];
  109. [self setObject:obj forExtensionClass:[GDataQuotaBytesTotal class]];
  110. }
  111. - (NSNumber *)quotaBytesUsed { // long long
  112. GDataQuotaBytesUsed *obj;
  113. obj = [self objectForExtensionClass:[GDataQuotaBytesUsed class]];
  114. return [obj longLongNumberValue];
  115. }
  116. - (void)setQuotaBytesUsed:(NSNumber *)num {
  117. GDataQuotaBytesUsed *obj = [GDataQuotaBytesUsed valueWithNumber:num];
  118. [self setObject:obj forExtensionClass:[GDataQuotaBytesUsed class]];
  119. }
  120. - (NSNumber *)quotaBytesUsedInTrash { // long long
  121. GDataQuotaBytesUsedInTrash *obj;
  122. obj = [self objectForExtensionClass:[GDataQuotaBytesUsedInTrash class]];
  123. return [obj longLongNumberValue];
  124. }
  125. - (void)setQuotaBytesUsedInTrash:(NSNumber *)num {
  126. GDataQuotaBytesUsedInTrash *obj = [GDataQuotaBytesUsedInTrash valueWithNumber:num];
  127. [self setObject:obj forExtensionClass:[GDataQuotaBytesUsedInTrash class]];
  128. }
  129. - (NSNumber *)largestChangestamp {
  130. GDataDocLargestChangestamp *obj;
  131. obj = [self objectForExtensionClass:[GDataDocLargestChangestamp class]];
  132. return [obj longLongNumberValue];
  133. }
  134. - (void)setLargestChangestamp:(NSNumber *)num {
  135. GDataDocLargestChangestamp *obj;
  136. obj = [GDataDocLargestChangestamp valueWithNumber:num];
  137. [self setObject:obj forExtensionClass:[GDataDocLargestChangestamp class]];
  138. }
  139. #pragma mark -
  140. - (GDataDocMaxUploadSize *)maxUploadSizeForKind:(NSString *)uploadKind {
  141. GDataDocMaxUploadSize *obj;
  142. obj = [GDataUtilities firstObjectFromArray:[self maxUploadSizes]
  143. withValue:uploadKind
  144. forKeyPath:@"uploadKind"];
  145. return obj;
  146. }
  147. - (GDataDocFeature *)featureForName:(NSString *)name {
  148. GDataDocFeature *obj = [GDataUtilities firstObjectFromArray:[self features]
  149. withValue:name
  150. forKeyPath:@"featureName"];
  151. return obj;
  152. }
  153. @end
  154. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_DOCS_SERVICE