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

http://macfuse.googlecode.com/ · Objective C · 305 lines · 214 code · 74 blank · 17 comment · 1 complexity · 0323c1871e9a85b6e945da5de9fc68ab MD5 · raw file

  1. /* Copyright (c) 2008 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. // GDataEntrySite.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_WEBMASTERTOOLS_SERVICE
  19. #import "GDataEntrySite.h"
  20. #import "GDataWebmasterToolsConstants.h"
  21. @interface GDataSiteCrawledDate : GDataValueElementConstruct <GDataExtension>
  22. @end
  23. @implementation GDataSiteCrawledDate
  24. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  25. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  26. + (NSString *)extensionElementLocalName { return @"crawled"; }
  27. @end
  28. @interface GDataSiteVerified : GDataValueElementConstruct <GDataExtension>
  29. @end
  30. @implementation GDataSiteVerified
  31. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  32. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  33. + (NSString *)extensionElementLocalName { return @"verified"; }
  34. @end
  35. @interface GDataSiteIndexed : GDataValueElementConstruct <GDataExtension>
  36. @end
  37. @implementation GDataSiteIndexed
  38. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  39. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  40. + (NSString *)extensionElementLocalName { return @"indexed"; }
  41. @end
  42. @interface GDataSiteGeoLocation : GDataValueElementConstruct <GDataExtension>
  43. @end
  44. @implementation GDataSiteGeoLocation
  45. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  46. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  47. + (NSString *)extensionElementLocalName { return @"geolocation"; }
  48. @end
  49. @interface GDataSiteCrawlRate : GDataValueElementConstruct <GDataExtension>
  50. @end
  51. @implementation GDataSiteCrawlRate
  52. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  53. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  54. + (NSString *)extensionElementLocalName { return @"crawl-rate"; }
  55. @end
  56. @interface GDataSitePreferredDomain : GDataValueElementConstruct <GDataExtension>
  57. @end
  58. @implementation GDataSitePreferredDomain
  59. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  60. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  61. + (NSString *)extensionElementLocalName { return @"preferred-domain"; }
  62. @end
  63. @interface GDataSiteEnhancedImageSearch : GDataValueElementConstruct <GDataExtension>
  64. @end
  65. @implementation GDataSiteEnhancedImageSearch
  66. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  67. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  68. + (NSString *)extensionElementLocalName { return @"enhanced-image-search"; }
  69. @end
  70. @implementation GDataEntrySite
  71. + (NSDictionary *)webmasterToolsNamespaces {
  72. NSMutableDictionary *namespaces;
  73. namespaces = [NSMutableDictionary dictionaryWithObject:kGDataNamespaceWebmasterTools
  74. forKey:kGDataNamespaceWebmasterToolsPrefix];
  75. [namespaces addEntriesFromDictionary:[GDataEntryBase baseGDataNamespaces]];
  76. return namespaces;
  77. }
  78. + (GDataEntrySite *)siteEntry {
  79. GDataEntrySite *obj;
  80. obj = [self object];
  81. [obj setNamespaces:[GDataWebmasterToolsConstants webmasterToolsNamespaces]];
  82. return obj;
  83. }
  84. #pragma mark -
  85. + (NSString *)standardEntryKind {
  86. return kGDataCategorySiteInfo;
  87. }
  88. + (void)load {
  89. [self registerEntryClass];
  90. }
  91. - (void)addExtensionDeclarations {
  92. [super addExtensionDeclarations];
  93. Class entryClass = [self class];
  94. [self addExtensionDeclarationForParentClass:entryClass
  95. childClasses:
  96. [GDataSiteCrawledDate class],
  97. [GDataSiteVerified class],
  98. [GDataSiteIndexed class],
  99. [GDataSiteGeoLocation class],
  100. [GDataSiteCrawlRate class],
  101. [GDataSitePreferredDomain class],
  102. [GDataSiteEnhancedImageSearch class],
  103. [GDataEntryLink class],
  104. [GDataSiteVerificationMethod class],
  105. nil];
  106. }
  107. #if !GDATA_SIMPLE_DESCRIPTIONS
  108. - (NSMutableArray *)itemsForDescription {
  109. static struct GDataDescriptionRecord descRecs[] = {
  110. { @"entryLinks", @"entryLinks", kGDataDescArrayCount },
  111. { @"indexed", @"isIndexed", kGDataDescBooleanLabeled },
  112. { @"crawled", @"crawledDate", kGDataDescValueLabeled },
  113. { @"geolocation", @"geoLocation", kGDataDescValueLabeled },
  114. { @"crawlRate", @"crawlRate", kGDataDescValueLabeled },
  115. { @"preferredDomain", @"preferredDomain", kGDataDescValueLabeled },
  116. { @"verified", @"isVerified", kGDataDescBooleanLabeled },
  117. { @"enhancedImageSearch", @"hasEnhancedImageSearch", kGDataDescBooleanLabeled },
  118. { @"methods", @"verificationMethods", kGDataDescArrayDescs },
  119. { nil, nil, (GDataDescRecTypes)0 }
  120. };
  121. NSMutableArray *items = [super itemsForDescription];
  122. [self addDescriptionRecords:descRecs toItems:items];
  123. return items;
  124. }
  125. #endif
  126. + (NSString *)defaultServiceVersion {
  127. return kGDataWebmasterToolsDefaultServiceVersion;
  128. }
  129. #pragma mark -
  130. - (BOOL)isIndexed {
  131. id obj = [self objectForExtensionClass:[GDataSiteIndexed class]];
  132. return [obj boolValue];
  133. }
  134. - (void)setIsIndexed:(BOOL)flag {
  135. GDataSiteIndexed *obj = [GDataSiteIndexed valueWithBool:flag];
  136. [self setObject:obj forExtensionClass:[GDataSiteIndexed class]];
  137. }
  138. - (GDataDateTime *)crawledDate {
  139. id obj = [self objectForExtensionClass:[GDataSiteCrawledDate class]];
  140. return [obj dateTimeValue];
  141. }
  142. - (void)setCrawledDate:(GDataDateTime *)dateTime {
  143. GDataSiteCrawledDate *obj = [GDataSiteCrawledDate valueWithDateTime:dateTime];
  144. [self setObject:obj forExtensionClass:[GDataSiteCrawledDate class]];
  145. }
  146. - (BOOL)isVerified {
  147. id obj = [self objectForExtensionClass:[GDataSiteVerified class]];
  148. return [obj boolValue];
  149. }
  150. - (void)setIsVerified:(BOOL)flag {
  151. GDataSiteVerified *obj = [GDataSiteVerified valueWithBool:flag];
  152. [self setObject:obj forExtensionClass:[GDataSiteVerified class]];
  153. }
  154. - (NSString *)geoLocation {
  155. GDataSiteGeoLocation *obj;
  156. obj = [self objectForExtensionClass:[GDataSiteGeoLocation class]];
  157. return [obj stringValue];
  158. }
  159. - (void)setGeoLocation:(NSString *)str {
  160. GDataSiteGeoLocation *obj;
  161. obj = [GDataSiteGeoLocation valueWithString:str];
  162. [self setObject:obj forExtensionClass:[GDataSiteGeoLocation class]];
  163. }
  164. - (NSString *)crawlRate {
  165. GDataSiteCrawlRate *obj;
  166. obj = [self objectForExtensionClass:[GDataSiteCrawlRate class]];
  167. return [obj stringValue];
  168. }
  169. - (void)setCrawlRate:(NSString *)str {
  170. GDataSiteCrawlRate *obj = [GDataSiteCrawlRate valueWithString:str];
  171. [self setObject:obj forExtensionClass:[GDataSiteCrawlRate class]];
  172. }
  173. - (NSString *)preferredDomain {
  174. GDataSitePreferredDomain *obj;
  175. obj = [self objectForExtensionClass:[GDataSitePreferredDomain class]];
  176. return [obj stringValue];
  177. }
  178. - (void)setPreferredDomain:(NSString *)str {
  179. GDataSitePreferredDomain *obj;
  180. obj = [GDataSitePreferredDomain valueWithString:str];
  181. [self setObject:obj forExtensionClass:[GDataSitePreferredDomain class]];
  182. }
  183. - (BOOL)hasEnhancedImageSearch {
  184. id obj = [self objectForExtensionClass:[GDataSiteEnhancedImageSearch class]];
  185. return [obj boolValue];
  186. }
  187. - (void)setHasEnhancedImageSearch:(BOOL)flag {
  188. GDataSiteEnhancedImageSearch *obj;
  189. obj = [GDataSiteEnhancedImageSearch valueWithBool:flag];
  190. [self setObject:obj forExtensionClass:[GDataSiteEnhancedImageSearch class]];
  191. }
  192. - (NSArray *)verificationMethods {
  193. return [self objectsForExtensionClass:[GDataSiteVerificationMethod class]];
  194. }
  195. - (void)setVerificationMethods:(NSArray *)array {
  196. [self setObjects:array forExtensionClass:[GDataSiteVerificationMethod class]];
  197. }
  198. - (void)addVerificationMethod:(GDataSiteVerificationMethod *)obj {
  199. [self addObject:obj forExtensionClass:[GDataSiteVerificationMethod class]];
  200. }
  201. - (NSArray *)entryLinks {
  202. return [self objectsForExtensionClass:[GDataEntryLink class]];
  203. }
  204. - (void)setEntryLinks:(NSArray *)arr {
  205. [self setObjects:arr forExtensionClass:[GDataEntryLink class]];
  206. }
  207. - (void)addEntryLink:(GDataEntryLink *)obj {
  208. [self addObject:obj forExtensionClass:[GDataEntryLink class]];
  209. }
  210. #pragma mark Convenience accessors
  211. - (GDataEntryLink *)verificationEntryLink {
  212. GDataEntryLink *obj = [GDataUtilities firstObjectFromArray:[self entryLinks]
  213. withValue:kGDataSiteVerificationRel
  214. forKeyPath:@"rel"];
  215. return obj;
  216. }
  217. - (GDataEntryLink *)sitemapsEntryLink {
  218. GDataEntryLink *obj = [GDataUtilities firstObjectFromArray:[self entryLinks]
  219. withValue:kGDataSiteSitemapsRel
  220. forKeyPath:@"rel"];
  221. return obj;
  222. }
  223. - (GDataSiteVerificationMethod *)verificationMethodInUse {
  224. GDataSiteVerificationMethod *method;
  225. method = [GDataUtilities firstObjectFromArray:[self verificationMethods]
  226. withValue:[NSNumber numberWithBool:YES]
  227. forKeyPath:@"isInUse"];
  228. return method;
  229. }
  230. @end
  231. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_WEBMASTERTOOLS_SERVICE