summaryrefslogtreecommitdiff
path: root/nfc/Simulator/Src/SecureElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'nfc/Simulator/Src/SecureElement.cpp')
-rw-r--r--nfc/Simulator/Src/SecureElement.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/nfc/Simulator/Src/SecureElement.cpp b/nfc/Simulator/Src/SecureElement.cpp
new file mode 100644
index 00000000..9273c948
--- /dev/null
+++ b/nfc/Simulator/Src/SecureElement.cpp
@@ -0,0 +1,52 @@
+/*++
+
+Copyright (c) Microsoft Corporation. All rights reserved.
+
+Module Name:
+
+ secureelement.cpp
+
+Abstract:
+
+ Implements the secure element class
+
+Environment:
+
+ User-mode only.
+
+--*/
+
+#include "Internal.h"
+#include "SecureElement.tmh"
+
+CSecureElement::CSecureElement(
+ const GUID& SecureElementId,
+ SECURE_ELEMENT_TYPE SecureElementType
+ )
+ : m_SecureElementId(SecureElementId),
+ m_SecureElementType(SecureElementType),
+ m_EmulationMode(EmulationOff)
+{
+ InitializeListHead(&m_ListEntry);
+}
+
+CSecureElement::~CSecureElement()
+{
+}
+
+NTSTATUS CSecureElement::SetEmulationMode(SECURE_ELEMENT_CARD_EMULATION_MODE EmulationMode)
+{
+ MethodEntry("...");
+
+ NTSTATUS Status = STATUS_SUCCESS;
+
+ if (m_EmulationMode == EmulationMode) {
+ Status = STATUS_INVALID_DEVICE_STATE;
+ goto Exit;
+ }
+
+ m_EmulationMode = EmulationMode;
+
+Exit:
+ MethodReturn(Status, "Status = %!STATUS!", Status);
+} \ No newline at end of file