+ * @abstract Synchronized method to obtain a property from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the OSDictionary::getObject semantics. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as a C-string.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard getProperty() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result The property value found, or zero. */
+
+ virtual OSObject * getProperty( const char * aKey,
+ const IORegistryPlane * plane,
+ IOOptionBits options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const APPLE_KEXT_DEPRECATED_WITH_SHARED_PTR;
+
+/*! @function propertyExists
+ * @abstract Synchronized method to check if a property exists from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will return true. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as an OSSymbol.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard propertyExists() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result True if the property was found. */
+
+ bool propertyExists( const OSSymbol * aKey,
+ const IORegistryPlane * plane,
+ uint32_t options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const;
+
+/*! @function propertyExists
+ * @abstract Synchronized method to check if a property exists from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will return true. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as an OSString.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard propertyExists() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result True if the property was found. */
+
+ bool propertyExists( const OSString * aKey,
+ const IORegistryPlane * plane,
+ uint32_t options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const;
+
+/*! @function propertyExists
+ * @abstract Synchronized method to check if a property exists from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will return true. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as a C-string.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard propertyExists() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result True if the property was found. */
+
+ bool propertyExists( const char * aKey,
+ const IORegistryPlane * plane,
+ uint32_t options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const;
+
+/*! @function propertyHasValue
+ * @abstract Synchronized method to check if a property has a given value from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will return true if the property isEqualTo() the supplied value. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as an OSSymbol.
+ * @param value The property value to be compared.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard propertyExists() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result True if the property was found and isEqualTo() the supplied value. */
+
+ bool propertyHasValue( const OSSymbol * aKey,
+ const OSObject * value,
+ const IORegistryPlane * plane,
+ uint32_t options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const;
+
+/*! @function propertyHasValue
+ * @abstract Synchronized method to check if a property has a given value from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will return true if the property isEqualTo() the supplied value. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as an OSString.
+ * @param value The property value to be compared.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard propertyExists() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result True if the property was found and isEqualTo() the supplied value. */
+
+ bool propertyHasValue( const OSString * aKey,
+ const OSObject * value,
+ const IORegistryPlane * plane,
+ uint32_t options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const;
+
+/*! @function propertyHasValue
+ * @abstract Synchronized method to check if a property has a given value from a registry entry or one of its parents (or children) in the hierarchy.
+ * @discussion This method will search for a property, starting first with this registry entry's property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will return true if the property isEqualTo() the supplied value. The iteration keeps track of entries that have been recursed into previously to avoid loops. This method is synchronized with other IORegistryEntry accesses to the property table(s).
+ * @param aKey The property's name as a C-string.
+ * @param value The property value to be compared.
+ * @param plane The plane to iterate over, eg. gIOServicePlane.
+ * @param options kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard propertyExists() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
+ * @result True if the property was found and isEqualTo() the supplied value. */
+
+ bool propertyHasValue( const char * aKey,
+ const OSObject * value,
+ const IORegistryPlane * plane,
+ uint32_t options =
+ kIORegistryIterateRecursively |
+ kIORegistryIterateParents) const;
+