/core/externals/update-engine/externals/gdata-objectivec-client/Source/Clients/Analytics/GDataEntryAnalyticsData.m

http://macfuse.googlecode.com/ · Objective C · 125 lines · 77 code · 31 blank · 17 comment · 1 complexity · 3c072836a37b33e20e03f6e813e3f321 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. // GDataEntryAnalyticsData.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_ANALYTICS_SERVICE
  19. #import "GDataEntryAnalyticsData.h"
  20. #import "GDataAnalyticsConstants.h"
  21. #import "GDataAnalyticsElements.h"
  22. #import "GDataAnalyticsMetric.h"
  23. @implementation GDataEntryAnalyticsData
  24. + (GDataEntryAnalyticsData *)dataEntry {
  25. GDataEntryAnalyticsData *obj;
  26. obj = [self object];
  27. [obj setNamespaces:[GDataAnalyticsConstants analyticsNamespaces]];
  28. return obj;
  29. }
  30. #pragma mark -
  31. + (NSString *)standardKindAttributeValue {
  32. return @"analytics#datarow";
  33. }
  34. + (void)load {
  35. [self registerEntryClass];
  36. }
  37. - (void)addExtensionDeclarations {
  38. [super addExtensionDeclarations];
  39. [self addExtensionDeclarationForParentClass:[self class]
  40. childClasses:
  41. [GDataAnalyticsDimension class],
  42. [GDataAnalyticsMetric class],
  43. nil];
  44. }
  45. #if !GDATA_SIMPLE_DESCRIPTIONS
  46. - (NSMutableArray *)itemsForDescription {
  47. static struct GDataDescriptionRecord descRecs[] = {
  48. { @"metrics", @"metrics", kGDataDescArrayDescs },
  49. { @"dimensions", @"dimensions", kGDataDescArrayDescs },
  50. { nil, nil, (GDataDescRecTypes)0 }
  51. };
  52. NSMutableArray *items = [super itemsForDescription];
  53. [self addDescriptionRecords:descRecs toItems:items];
  54. return items;
  55. }
  56. #endif
  57. + (NSString *)defaultServiceVersion {
  58. return kGDataAnalyticsDefaultServiceVersion;
  59. }
  60. #pragma mark -
  61. - (NSArray *)dimensions {
  62. return [self objectsForExtensionClass:[GDataAnalyticsDimension class]];
  63. }
  64. - (void)setDimensions:(NSArray *)array {
  65. [self setObjects:array forExtensionClass:[GDataAnalyticsDimension class]];
  66. }
  67. - (void)addDimension:(GDataAnalyticsDimension *)obj {
  68. [self addObject:obj forExtensionClass:[GDataAnalyticsDimension class]];
  69. }
  70. - (GDataAnalyticsDimension *)dimensionWithName:(NSString *)name {
  71. NSArray *array = [self dimensions];
  72. GDataAnalyticsDimension *obj = [GDataUtilities firstObjectFromArray:array
  73. withValue:name
  74. forKeyPath:@"name"];
  75. return obj;
  76. }
  77. - (NSArray *)metrics {
  78. return [self objectsForExtensionClass:[GDataAnalyticsMetric class]];
  79. }
  80. - (void)setMetrics:(NSArray *)array {
  81. [self setObjects:array forExtensionClass:[GDataAnalyticsMetric class]];
  82. }
  83. - (void)addMetric:(GDataAnalyticsMetric *)obj {
  84. [self addObject:obj forExtensionClass:[GDataAnalyticsMetric class]];
  85. }
  86. - (GDataAnalyticsMetric *)metricWithName:(NSString *)name {
  87. NSArray *array = [self metrics];
  88. GDataAnalyticsMetric *obj = [GDataUtilities firstObjectFromArray:array
  89. withValue:name
  90. forKeyPath:@"name"];
  91. return obj;
  92. }
  93. @end
  94. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_ANALYTICS_SERVICE