CFPropertyList.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:3k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       CFPropertyList.h
  3.  
  4.      Contains:   CoreFoundation PropertyList
  5.  
  6.      Version:    Technology: Mac OS X
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1999-2001 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:      For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __CFPROPERTYLIST__
  18. #define __CFPROPERTYLIST__
  19. #ifndef __CFBASE__
  20. #include "CFBase.h"
  21. #endif
  22. #ifndef __CFDATA__
  23. #include "CFData.h"
  24. #endif
  25. #ifndef __CFSTRING__
  26. #include "CFString.h"
  27. #endif
  28. /* Type to mean any instance of a property list type;
  29.    currently, CFString, CFData, CFNumber, CFBoolean, CFDate,
  30.    CFArray, and CFDictionary. 
  31. */
  32. #if PRAGMA_ONCE
  33. #pragma once
  34. #endif
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif
  38. #if PRAGMA_IMPORT
  39. #pragma import on
  40. #endif
  41. #if PRAGMA_STRUCT_ALIGN
  42.     #pragma options align=mac68k
  43. #elif PRAGMA_STRUCT_PACKPUSH
  44.     #pragma pack(push, 2)
  45. #elif PRAGMA_STRUCT_PACK
  46.     #pragma pack(2)
  47. #endif
  48. typedef CFTypeRef                       CFPropertyListRef;
  49. enum {
  50.     kCFPropertyListImmutable    = 0,
  51.     kCFPropertyListMutableContainers = 1,
  52.     kCFPropertyListMutableContainersAndLeaves = 2
  53. };
  54. /* 
  55. Creates a property list object (CFString, CFDictionary, CFArray, or CFData) 
  56. from its XML description; xmlData should be the raw bytes of that description, 
  57. possibly the contents of an XML file.  Returns NULL if the data cannot be parsed; 
  58. if the parse fails and errorString is non-NULL, a human-readable description of 
  59. the failure is returned in errorString.  It is the caller's responsibility to 
  60. release either the returned object or the error string, whichever is applicable. 
  61. */
  62. EXTERN_API_C( CFPropertyListRef )
  63. CFPropertyListCreateFromXMLData (CFAllocatorRef         allocator,
  64.                                  CFDataRef              xmlData,
  65.                                  CFOptionFlags          mutabilityOption,
  66.                                  CFStringRef *          errorString);
  67. /* 
  68. Returns the XML description of the given object; propertyList must be one of
  69. the supported property list types, and (for composite types like CFArray and CFDictionary) 
  70. must not contain any elements that are not themselves of a property list type.  
  71. If a non-property list type is encountered, NULL is returned.  The returned data is
  72. appropriate for writing out to an XML file.  Note that a data, not a string, is 
  73. returned because the bytes contain in them a description of the string encoding used. 
  74. */
  75. EXTERN_API_C( CFDataRef )
  76. CFPropertyListCreateXMLData     (CFAllocatorRef         allocator,
  77.                                  CFPropertyListRef      propertyList);
  78. #if PRAGMA_STRUCT_ALIGN
  79.     #pragma options align=reset
  80. #elif PRAGMA_STRUCT_PACKPUSH
  81.     #pragma pack(pop)
  82. #elif PRAGMA_STRUCT_PACK
  83.     #pragma pack()
  84. #endif
  85. #ifdef PRAGMA_IMPORT_OFF
  86. #pragma import off
  87. #elif PRAGMA_IMPORT
  88. #pragma import reset
  89. #endif
  90. #ifdef __cplusplus
  91. }
  92. #endif
  93. #endif /* __CFPROPERTYLIST__ */