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

http://macfuse.googlecode.com/ · Objective C · 139 lines · 92 code · 30 blank · 17 comment · 1 complexity · 7ada2a3f35817be3cb6b7632c36160ee 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. // GDataQueryAnalytics.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_ANALYTICS_SERVICE
  19. #import "GDataQueryAnalytics.h"
  20. static NSString *const kDimensionsParamName = @"dimensions";
  21. static NSString *const kMetricsParamName = @"metrics";
  22. static NSString *const kStartDateParamName = @"start-date";
  23. static NSString *const kEndDateParamName = @"end-date";
  24. static NSString *const kFiltersParamName = @"filters";
  25. static NSString *const kIDsParamName = @"ids";
  26. static NSString *const kSortParamName = @"sort";
  27. static NSString *const kSegmentParamName = @"segment";
  28. @implementation GDataQueryAnalytics
  29. + (GDataQueryAnalytics *)analyticsQueryWithFeedURL:(NSURL *)feedURL {
  30. return [self queryWithFeedURL:feedURL];
  31. }
  32. + (GDataQueryAnalytics *)analyticsDataQueryWithTableID:(NSString *)tableID
  33. startDateString:(NSString *)startDateStr
  34. endDateString:(NSString *)endDateStr {
  35. NSString *const kDataURI = @"https://www.google.com/analytics/feeds/data";
  36. NSURL *dataURL = [NSURL URLWithString:kDataURI];
  37. GDataQueryAnalytics *query = [self analyticsQueryWithFeedURL:dataURL];
  38. [query setIDs:tableID];
  39. [query setStartDateString:startDateStr];
  40. [query setEndDateString:endDateStr];
  41. return query;
  42. }
  43. #pragma mark -
  44. - (void)setDimensions:(NSString *)str {
  45. [self addCustomParameterWithName:kDimensionsParamName
  46. value:str];
  47. }
  48. - (NSString *)dimensions {
  49. NSString *str = [self valueForParameterWithName:kDimensionsParamName];
  50. return str;
  51. }
  52. - (void)setMetrics:(NSString *)str {
  53. [self addCustomParameterWithName:kMetricsParamName
  54. value:str];
  55. }
  56. - (NSString *)metrics {
  57. NSString *str = [self valueForParameterWithName:kMetricsParamName];
  58. return str;
  59. }
  60. - (void)setStartDateString:(NSString *)str {
  61. [self addCustomParameterWithName:kStartDateParamName
  62. value:str];
  63. }
  64. - (NSString *)startDateString {
  65. NSString *str = [self valueForParameterWithName:kStartDateParamName];
  66. return str;
  67. }
  68. - (void)setEndDateString:(NSString *)str {
  69. [self addCustomParameterWithName:kEndDateParamName
  70. value:str];
  71. }
  72. - (NSString *)endDateString {
  73. NSString *str = [self valueForParameterWithName:kEndDateParamName];
  74. return str;
  75. }
  76. - (void)setFilters:(NSString *)str {
  77. [self addCustomParameterWithName:kFiltersParamName
  78. value:str];
  79. }
  80. - (NSString *)filters {
  81. NSString *str = [self valueForParameterWithName:kFiltersParamName];
  82. return str;
  83. }
  84. - (void)setIDs:(NSString *)str {
  85. [self addCustomParameterWithName:kIDsParamName
  86. value:str];
  87. }
  88. - (NSString *)IDs {
  89. NSString *str = [self valueForParameterWithName:kIDsParamName];
  90. return str;
  91. }
  92. - (void)setSort:(NSString *)str {
  93. [self addCustomParameterWithName:kSortParamName
  94. value:str];
  95. }
  96. - (NSString *)sort {
  97. NSString *str = [self valueForParameterWithName:kSortParamName];
  98. return str;
  99. }
  100. - (void)setSegment:(NSString *)str {
  101. [self addCustomParameterWithName:kSegmentParamName
  102. value:str];
  103. }
  104. - (NSString *)segment {
  105. NSString *str = [self valueForParameterWithName:kSegmentParamName];
  106. return str;
  107. }
  108. @end
  109. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_ANALYTICS_SERVICE