/core/externals/update-engine/externals/gdata-objectivec-client/Source/Media/GDataMediaContent.m

http://macfuse.googlecode.com/ · Objective C · 190 lines · 125 code · 29 blank · 36 comment · 2 complexity · 1d42e288a4aeec8ed2c813383bfb499a 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. // GDataMediaContent.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_PHOTOS_SERVICE \
  19. || GDATA_INCLUDE_YOUTUBE_SERVICE
  20. #import "GDataMediaContent.h"
  21. #import "GDataMediaGroup.h"
  22. static NSString* const kURLAttr = @"url";
  23. static NSString* const kFileSizeAttr = @"fileSize";
  24. static NSString* const kTypeAttr = @"type";
  25. static NSString* const kMediumAttr = @"medium";
  26. static NSString* const kIsDefaultAttr = @"isDefault";
  27. static NSString* const kExpressionAttr = @"expression";
  28. static NSString* const kBitrateAttr = @"bitrate";
  29. static NSString* const kFramerateAttr = @"framerate";
  30. static NSString* const kSamplingRateAttr = @"samplingrate";
  31. static NSString* const kChannelsAttr = @"channels";
  32. static NSString* const kDurationAttr = @"duration";
  33. static NSString* const kHeightAttr = @"height";
  34. static NSString* const kWidthAttr = @"width";
  35. static NSString* const kLangAttr = @"lang";
  36. @implementation GDataMediaContent
  37. // media:content element
  38. //
  39. // <media:content
  40. // url="http://www.foo.com/movie.mov"
  41. // fileSize="12216320"
  42. // type="video/quicktime"
  43. // medium="video"
  44. // isDefault="true"
  45. // expression="full"
  46. // bitrate="128"
  47. // framerate="25"
  48. // samplingrate="44.1"
  49. // channels="2"
  50. // duration="185"
  51. // height="200"
  52. // width="300"
  53. // lang="en" />
  54. //
  55. // http://search.yahoo.com/mrss
  56. + (NSString *)extensionElementURI { return kGDataNamespaceMedia; }
  57. + (NSString *)extensionElementPrefix { return kGDataNamespaceMediaPrefix; }
  58. + (NSString *)extensionElementLocalName { return @"content"; }
  59. + (GDataMediaContent *)mediaContentWithURLString:(NSString *)urlString {
  60. GDataMediaContent *obj = [self object];
  61. [obj setURLString:urlString];
  62. return obj;
  63. }
  64. - (void)addParseDeclarations {
  65. NSArray *attrs = [NSArray arrayWithObjects:
  66. kURLAttr, kFileSizeAttr, kTypeAttr,
  67. kMediumAttr, kIsDefaultAttr, kExpressionAttr,
  68. kBitrateAttr, kFramerateAttr, kSamplingRateAttr,
  69. kChannelsAttr, kDurationAttr, kHeightAttr, kWidthAttr,
  70. kLangAttr, nil];
  71. [self addLocalAttributeDeclarations:attrs];
  72. }
  73. #pragma mark -
  74. - (NSString *)URLString {
  75. return [self stringValueForAttribute:kURLAttr];
  76. }
  77. - (void)setURLString:(NSString *)str {
  78. [self setStringValue:str forAttribute:kURLAttr];
  79. }
  80. - (NSNumber *)fileSize {
  81. return [self longLongNumberForAttribute:kFileSizeAttr];
  82. }
  83. - (void)setFileSize:(NSNumber *)num {
  84. [self setStringValue:[num stringValue] forAttribute:kFileSizeAttr];
  85. }
  86. - (NSString *)type {
  87. return [self stringValueForAttribute:kTypeAttr];
  88. }
  89. - (void)setType:(NSString *)str {
  90. [self setStringValue:str forAttribute:kTypeAttr];
  91. }
  92. - (NSString *)medium {
  93. return [self stringValueForAttribute:kMediumAttr];
  94. }
  95. - (void)setMedium:(NSString *)str {
  96. [self setStringValue:str forAttribute:kMediumAttr];
  97. }
  98. - (NSNumber *)isDefault {
  99. BOOL flag = [self boolValueForAttribute:kIsDefaultAttr defaultValue:NO];
  100. return flag ? [NSNumber numberWithBool:flag] : nil;
  101. }
  102. - (void)setIsDefault:(NSNumber *)num {
  103. BOOL flag = [num boolValue];
  104. [self setBoolValue:flag defaultValue:NO forAttribute:kIsDefaultAttr];
  105. }
  106. - (NSString *)expression {
  107. return [self stringValueForAttribute:kExpressionAttr];
  108. }
  109. - (void)setExpression:(NSString *)str {
  110. [self setStringValue:str forAttribute:kExpressionAttr];
  111. }
  112. - (NSDecimalNumber *)bitrate {
  113. return [self decimalNumberForAttribute:kBitrateAttr];
  114. }
  115. - (void)setBitrate:(NSDecimalNumber *)num {
  116. [self setDecimalNumberValue:num forAttribute:kBitrateAttr];
  117. }
  118. - (NSDecimalNumber *)framerate {
  119. return [self decimalNumberForAttribute:kFramerateAttr];
  120. }
  121. - (void)setFramerate:(NSDecimalNumber *)num {
  122. [self setDecimalNumberValue:num forAttribute:kFramerateAttr];
  123. }
  124. - (NSDecimalNumber *)samplingrate {
  125. return [self decimalNumberForAttribute:kSamplingRateAttr];
  126. }
  127. - (void)setSamplingrate:(NSDecimalNumber *)num {
  128. [self setDecimalNumberValue:num forAttribute:kSamplingRateAttr];
  129. }
  130. - (NSNumber *)channels {
  131. return [self intNumberForAttribute:kChannelsAttr];
  132. }
  133. - (void)setChannels:(NSNumber *)num {
  134. [self setStringValue:[num stringValue] forAttribute:kChannelsAttr];
  135. }
  136. - (NSNumber *)duration {
  137. return [self intNumberForAttribute:kDurationAttr];
  138. }
  139. - (void)setDuration:(NSNumber *)num {
  140. [self setStringValue:[num stringValue] forAttribute:kDurationAttr];
  141. }
  142. - (NSNumber *)height {
  143. return [self intNumberForAttribute:kHeightAttr];
  144. }
  145. - (void)setHeight:(NSNumber *)num {
  146. [self setStringValue:[num stringValue] forAttribute:kHeightAttr];
  147. }
  148. - (NSNumber *)width {
  149. return [self intNumberForAttribute:kWidthAttr];
  150. }
  151. - (void)setWidth:(NSNumber *)num {
  152. [self setStringValue:[num stringValue] forAttribute:kWidthAttr];
  153. }
  154. - (NSString *)lang {
  155. return [self stringValueForAttribute:kLangAttr];
  156. }
  157. - (void)setLang:(NSString *)str {
  158. [self setStringValue:str forAttribute:kLangAttr];
  159. }
  160. @end
  161. #endif // #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_*_SERVICE