/core/externals/update-engine/externals/gdata-objectivec-client/Source/Elements/GDataWhen.m

http://macfuse.googlecode.com/ · Objective C · 81 lines · 43 code · 17 blank · 21 comment · 2 complexity · 734488f28d4c9e3e9d53904f32525a38 MD5 · raw file

  1. /* Copyright (c) 2007 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. // GDataWhen.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_CALENDAR_SERVICE \
  19. || GDATA_INCLUDE_CONTACTS_SERVICE
  20. #import "GDataWhen.h"
  21. static NSString* const kValueAttr = @"valueString";
  22. static NSString* const kStartTimeAttr = @"startTime";
  23. static NSString* const kEndTimeAttr = @"endTime";
  24. @implementation GDataWhen
  25. // when element, as in
  26. // <gd:when startTime="2005-06-06" endTime="2005-06-07" valueString="This weekend"/>
  27. //
  28. // http://code.google.com/apis/gdata/common-elements.html#gdWhen
  29. + (NSString *)extensionElementURI { return kGDataNamespaceGData; }
  30. + (NSString *)extensionElementPrefix { return kGDataNamespaceGDataPrefix; }
  31. + (NSString *)extensionElementLocalName { return @"when"; }
  32. + (GDataWhen *)whenWithStartTime:(GDataDateTime *)startTime
  33. endTime:(GDataDateTime *)endTime {
  34. GDataWhen *obj = [self object];
  35. [obj setStartTime:startTime];
  36. [obj setEndTime:endTime];
  37. return obj;
  38. }
  39. - (void)addParseDeclarations {
  40. NSArray *attrs = [NSArray arrayWithObjects:
  41. kValueAttr, kStartTimeAttr, kEndTimeAttr, nil];
  42. [self addLocalAttributeDeclarations:attrs];
  43. }
  44. #pragma mark -
  45. - (GDataDateTime *)startTime {
  46. return [self dateTimeForAttribute:kStartTimeAttr];
  47. }
  48. - (void)setStartTime:(GDataDateTime *)cdate {
  49. [self setDateTimeValue:cdate forAttribute:kStartTimeAttr];
  50. }
  51. - (GDataDateTime *)endTime {
  52. return [self dateTimeForAttribute:kEndTimeAttr];
  53. }
  54. - (void)setEndTime:(GDataDateTime *)cdate {
  55. [self setDateTimeValue:cdate forAttribute:kEndTimeAttr];
  56. }
  57. - (NSString *)value {
  58. return [self stringValueForAttribute:kValueAttr];
  59. }
  60. - (void)setValue:(NSString *)str {
  61. [self setStringValue:str forAttribute:kValueAttr];
  62. }
  63. @end
  64. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_CALENDAR_SERVICE