Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / mac / security_wrappers.h
index 173c130..4713b4b 100644 (file)
@@ -5,12 +5,9 @@
 #ifndef CHROME_BROWSER_MAC_SECURITY_WRAPPERS_H_
 #define CHROME_BROWSER_MAC_SECURITY_WRAPPERS_H_
 
-#include <Security/Security.h>
-#include <Security/SecRequirement.h>
+#include <CoreFoundation/CFBase.h>
 
-#include "base/basictypes.h"
-#include "base/mac/scoped_cftyperef.h"
-#include "base/memory/scoped_ptr.h"
+#include "base/macros.h"
 
 namespace chrome {
 
@@ -27,206 +24,6 @@ class ScopedSecKeychainSetUserInteractionAllowed {
   DISALLOW_COPY_AND_ASSIGN(ScopedSecKeychainSetUserInteractionAllowed);
 };
 
-// Holds a paired SecKeychainItemRef and SecAccessRef, maintaining the
-// association between the two, and managing their ownership by retaining
-// the SecKeychainItemRef and SecAccessRef elements placed into a
-// CrSKeychainItemAndAccess object. Suitable for use
-// in standard C++ containers.
-class CrSKeychainItemAndAccess {
- public:
-  CrSKeychainItemAndAccess(SecKeychainItemRef item, SecAccessRef access);
-  CrSKeychainItemAndAccess(const CrSKeychainItemAndAccess& that);
-
-  ~CrSKeychainItemAndAccess();
-
-  void operator=(const CrSKeychainItemAndAccess& that);
-
-  SecKeychainItemRef item() const { return item_; }
-  SecAccessRef access() const { return access_; }
-
- private:
-  base::ScopedCFTypeRef<SecKeychainItemRef> item_;
-  base::ScopedCFTypeRef<SecAccessRef> access_;
-};
-
-// Holds the return value from CrSACLCopySimpleContents and an argument to
-// CrSACLSetSimpleContents, managing ownership. Used in those wrappers to keep
-// logically grouped data together.
-struct CrSACLSimpleContents {
-  CrSACLSimpleContents();
-  ~CrSACLSimpleContents();
-
-  base::ScopedCFTypeRef<CFArrayRef> application_list;
-  base::ScopedCFTypeRef<CFStringRef> description;
-  CSSM_ACL_KEYCHAIN_PROMPT_SELECTOR prompt_selector;
-};
-
-// Holds a SecKeychainAttributeInfo*, calling SecKeychainFreeAttributeInfo on
-// destruction.
-class ScopedSecKeychainAttributeInfo {
- public:
-  explicit ScopedSecKeychainAttributeInfo(
-      SecKeychainAttributeInfo* attribute_info);
-  ~ScopedSecKeychainAttributeInfo();
-
-  operator SecKeychainAttributeInfo*() const {
-    return attribute_info_;
-  }
-
- private:
-  SecKeychainAttributeInfo* attribute_info_;
-};
-
-// Holds the return value from CrSKeychainItemCopyAttributesAndData and an
-// argument to CrSKeychainItemCreateFromContent. Used in those wrappers to
-// keep logically grouped data together.
-struct CrSKeychainItemAttributesAndData {
-  SecItemClass item_class;
-  SecKeychainAttributeList* attribute_list;
-  UInt32 length;
-  void* data;
-};
-
-// Holds a CrSKeychainItemAttributesAndData*, calling
-// CrSKeychainItemFreeAttributesAndData and freeing the owned
-// CrSKeychainItemAttributesAndData* on destruction.
-class ScopedCrSKeychainItemAttributesAndData {
- public:
-  ScopedCrSKeychainItemAttributesAndData(
-      CrSKeychainItemAttributesAndData* attributes_and_data);
-  ~ScopedCrSKeychainItemAttributesAndData();
-
-  CrSKeychainItemAttributesAndData* get() const {
-    return attributes_and_data_.get();
-  }
-
-  CrSKeychainItemAttributesAndData* release() {
-    return attributes_and_data_.release();
-  }
-
-  SecItemClass item_class() const {
-    return attributes_and_data_->item_class;
-  }
-
-  SecItemClass* item_class_ptr() const {
-    return &attributes_and_data_->item_class;
-  }
-
-  SecKeychainAttributeList* attribute_list() const {
-    return attributes_and_data_->attribute_list;
-  }
-
-  SecKeychainAttributeList** attribute_list_ptr() const {
-    return &attributes_and_data_->attribute_list;
-  }
-
-  UInt32 length() const {
-    return attributes_and_data_->length;
-  }
-
-  UInt32* length_ptr() const {
-    return &attributes_and_data_->length;
-  }
-
-  void* data() const {
-    return attributes_and_data_->data;
-  }
-
-  void** data_ptr() const {
-    return &attributes_and_data_->data;
-  }
-
- private:
-  scoped_ptr<CrSKeychainItemAttributesAndData> attributes_and_data_;
-};
-
-// Wraps SecKeychainSearchCreateFromAttributes, returning NULL on error and a
-// SecKeychainSearchRef owned by the caller on success.
-SecKeychainSearchRef CrSKeychainSearchCreateFromAttributes(
-    CFTypeRef keychain_or_array,
-    SecItemClass item_class,
-    const SecKeychainAttributeList* attribute_list);
-
-// Wraps SecKeychainSearchCopyNext, tolerating a NULL argument (resulting in
-// a NULL return value but nothing logged), returning NULL on error and a
-// SecKeychainItemRef owned by the caller on success.
-SecKeychainItemRef CrSKeychainSearchCopyNext(SecKeychainSearchRef search);
-
-// Wraps SecKeychainItemFreeAttributesAndData.
-void CrSKeychainItemFreeAttributesAndData(
-    SecKeychainAttributeList* attribute_list,
-    void* data);
-
-// Tests access to |item| by calling SecKeychainItemCopyAttributesAndData,
-// taking care to properly free any returned data. Returns true if access to
-// |item| is authorized. errSecAuthFailed is considered an "expected" error
-// for which nothing will be logged, although false will be returned.
-bool CrSKeychainItemTestAccess(SecKeychainItemRef item);
-
-// Wraps SecKeychainItemCopyAccess, returning NULL on error and a SecAccessRef
-// owned by the caller on success. errSecNoAccessForItem and errSecAuthFailed
-// are considered "expected" errors for which nothing will be logged, although
-// NULL will be returned.
-SecAccessRef CrSKeychainItemCopyAccess(SecKeychainItemRef item);
-
-// Wraps SecAccessCopyACLList, returning NULL on error and a CFArrayRef owned
-// by the caller on success.
-CFArrayRef CrSAccessCopyACLList(SecAccessRef access);
-
-// Wraps SecACLCopySimpleContents, returning NULL on error and a
-// CrSACLSimpleContents* owned by the caller on success. errSecACLNotSimple is
-// considered an "expected" error for which nothing will be logged, although
-// NULL will be returned.
-CrSACLSimpleContents* CrSACLCopySimpleContents(SecACLRef acl);
-
-// Wraps SecTrustedApplicationCopyRequirement, tolerating a NULL argument
-// (resulting in a NULL return value but nothing logged) and returning NULL on
-// error or a SecRequirementRef owned by the caller on success.
-SecRequirementRef CrSTrustedApplicationCopyRequirement(
-    SecTrustedApplicationRef application);
-
-// Wraps SecRequirementCopyString, tolerating a NULL argument (resulting in
-// a NULL return value but nothing logged) and returning NULL on error or a
-// CFStringRef owned by the caller on success.
-CFStringRef CrSRequirementCopyString(SecRequirementRef requirement,
-                                     SecCSFlags flags);
-
-// Wraps SecTrustedApplicationCreateFromPath, returning NULL on error or a
-// SecTrustedApplicationRef owned by the caller on success.
-SecTrustedApplicationRef CrSTrustedApplicationCreateFromPath(const char* path);
-
-// Wraps SecACLSetSimpleContents, adapting it to the CrSACLSimpleContents
-// argument, returning false on error or true on success.
-bool CrSACLSetSimpleContents(SecACLRef acl,
-                             const CrSACLSimpleContents& acl_simple_contents);
-
-// Wraps SecKeychainItemCopyKeychain, returning NULL on error or a
-// SecKeychainRef owned by the caller on success.
-SecKeychainRef CrSKeychainItemCopyKeychain(SecKeychainItemRef item);
-
-// Wraps SecKeychainAttributeInfoForItemID, returning NULL on error or a
-// SecKeychainAttributeInfo* owned by the caller on success.
-SecKeychainAttributeInfo* CrSKeychainAttributeInfoForItemID(
-    SecKeychainRef keychain,
-    UInt32 item_id);
-
-// Wraps SecKeychainItemCopyAttributesAndData, returning NULL on error or a
-// CrSKeychainItemAttributesAndData* owned by the caller on success.
-CrSKeychainItemAttributesAndData* CrSKeychainItemCopyAttributesAndData(
-    SecKeychainRef keychain,
-    SecKeychainItemRef item);
-
-// Wraps SecKeychainItemDelete, returning false on error or true on success.
-bool CrSKeychainItemDelete(SecKeychainItemRef item);
-
-// Wraps SecKeychainItemCreateFromContent, adapting it to the
-// CrSKeychainItemAttributesAndData argument, returning NULL on error or a
-// SecKeychainItemRef owned by the caller on success.
-SecKeychainItemRef CrSKeychainItemCreateFromContent(
-    const CrSKeychainItemAttributesAndData& attributes_and_data,
-    SecKeychainRef keychain,
-    SecAccessRef access);
-
 }  // namespace chrome
 
 #endif  // CHROME_BROWSER_MAC_SECURITY_WRAPPERS_H_