/core/externals/update-engine/externals/gdata-objectivec-client/Source/Clients/WebmasterTools/GDataEntrySiteMessage.m

http://macfuse.googlecode.com/ · Objective C · 195 lines · 129 code · 48 blank · 18 comment · 1 complexity · a0999fffdeda0187ed9f8b39acf26d0e 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. // GDataEntrySitemap.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_WEBMASTERTOOLS_SERVICE
  19. #import "GDataEntrySiteMessage.h"
  20. #import "GDataWebmasterToolsConstants.h"
  21. // private extensions
  22. @interface GDataSiteMessageBody : GDataValueElementConstruct <GDataExtension>
  23. @end
  24. @implementation GDataSiteMessageBody
  25. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  26. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  27. + (NSString *)extensionElementLocalName { return @"body"; }
  28. @end
  29. @interface GDataSiteMessageDate: GDataValueElementConstruct <GDataExtension>
  30. @end
  31. @implementation GDataSiteMessageDate
  32. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  33. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  34. + (NSString *)extensionElementLocalName { return @"date"; }
  35. @end
  36. @interface GDataSiteMessageLanguage: GDataValueElementConstruct <GDataExtension>
  37. @end
  38. @implementation GDataSiteMessageLanguage
  39. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  40. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  41. + (NSString *)extensionElementLocalName { return @"language"; }
  42. @end
  43. @interface GDataSiteMessageRead: GDataValueElementConstruct <GDataExtension>
  44. @end
  45. @implementation GDataSiteMessageRead
  46. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  47. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  48. + (NSString *)extensionElementLocalName { return @"read"; }
  49. @end
  50. @interface GDataSiteMessageSubject: GDataValueElementConstruct <GDataExtension>
  51. @end
  52. @implementation GDataSiteMessageSubject
  53. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  54. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  55. + (NSString *)extensionElementLocalName { return @"subject"; }
  56. @end
  57. @implementation GDataEntrySiteMessage
  58. + (id)messageEntry {
  59. GDataEntrySiteMessage *obj = [self object];
  60. [obj setNamespaces:[GDataWebmasterToolsConstants webmasterToolsNamespaces]];
  61. return obj;
  62. }
  63. #pragma mark -
  64. + (NSString *)standardEntryKind {
  65. return kGDataCategorySiteMessage;
  66. }
  67. + (void)load {
  68. [self registerEntryClass];
  69. }
  70. - (void)addExtensionDeclarations {
  71. [super addExtensionDeclarations];
  72. Class entryClass = [self class];
  73. [self addExtensionDeclarationForParentClass:entryClass
  74. childClasses:
  75. [GDataSiteMessageBody class],
  76. [GDataSiteMessageDate class],
  77. [GDataSiteMessageLanguage class],
  78. [GDataSiteMessageRead class],
  79. [GDataSiteMessageSubject class],
  80. nil];
  81. }
  82. #if !GDATA_SIMPLE_DESCRIPTIONS
  83. - (NSMutableArray *)itemsForDescription {
  84. static struct GDataDescriptionRecord descRecs[] = {
  85. { @"body", @"body", kGDataDescValueLabeled },
  86. { @"date", @"messageDate.stringValue", kGDataDescValueLabeled },
  87. { @"language", @"language", kGDataDescValueLabeled },
  88. { @"read", @"read", kGDataDescBooleanLabeled },
  89. { @"subject", @"subject", kGDataDescValueLabeled },
  90. { nil, nil, (GDataDescRecTypes)0 }
  91. };
  92. NSMutableArray *items = [super itemsForDescription];
  93. [self addDescriptionRecords:descRecs toItems:items];
  94. return items;
  95. }
  96. #endif
  97. + (NSString *)defaultServiceVersion {
  98. return kGDataWebmasterToolsDefaultServiceVersion;
  99. }
  100. #pragma mark -
  101. - (NSString *)body {
  102. GDataSiteMessageBody *obj;
  103. obj = [self objectForExtensionClass:[GDataSiteMessageBody class]];
  104. return [obj stringValue];
  105. }
  106. - (void)setBody:(NSString *)str {
  107. GDataSiteMessageBody *obj = [GDataSiteMessageBody valueWithString:str];
  108. [self setObject:obj forExtensionClass:[GDataSiteMessageBody class]];
  109. }
  110. - (GDataDateTime *)messageDate {
  111. GDataSiteMessageDate *obj;
  112. obj = [self objectForExtensionClass:[GDataSiteMessageDate class]];
  113. return [obj dateTimeValue];
  114. }
  115. - (void)setMessageDate:(GDataDateTime *)dateTime {
  116. GDataSiteMessageDate *obj = [GDataSiteMessageDate valueWithDateTime:dateTime];
  117. [self setObject:obj forExtensionClass:[GDataSiteMessageDate class]];
  118. }
  119. - (NSString *)language {
  120. GDataSiteMessageLanguage *obj;
  121. obj = [self objectForExtensionClass:[GDataSiteMessageLanguage class]];
  122. return [obj stringValue];
  123. }
  124. - (void)setLanguage:(NSString *)str {
  125. GDataSiteMessageLanguage *obj = [GDataSiteMessageLanguage valueWithString:str];
  126. [self setObject:obj forExtensionClass:[GDataSiteMessageLanguage class]];
  127. }
  128. - (NSNumber *)read { // boolean
  129. GDataSiteMessageRead *obj;
  130. obj = [self objectForExtensionClass:[GDataSiteMessageRead class]];
  131. return [obj boolNumberValue];
  132. }
  133. - (void)setRead:(NSNumber *)num {
  134. GDataSiteMessageRead *obj = [GDataSiteMessageRead valueWithNumber:num];
  135. [self setObject:obj forExtensionClass:[GDataSiteMessageRead class]];
  136. }
  137. - (NSString *)subject {
  138. GDataSiteMessageSubject *obj;
  139. obj = [self objectForExtensionClass:[GDataSiteMessageSubject class]];
  140. return [obj stringValue];
  141. }
  142. - (void)setSubject:(NSString *)str {
  143. GDataSiteMessageSubject *obj = [GDataSiteMessageSubject valueWithString:str];
  144. [self setObject:obj forExtensionClass:[GDataSiteMessageSubject class]];
  145. }
  146. @end
  147. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_WEBMASTERTOOLS_SERVICE