Skip to content

Commit

Permalink
FirstAtempt
Browse files Browse the repository at this point in the history
  • Loading branch information
Angelelz committed Sep 12, 2019
1 parent 6c0a20b commit a90c0cc
Show file tree
Hide file tree
Showing 6 changed files with 630 additions and 199 deletions.
63 changes: 63 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
3 changes: 2 additions & 1 deletion WindowsHello/WindowsHello.Tests/TestWindowsHello.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ public class TestWindowsHello
public void WindowsHelloTest()
{
var handle = new IntPtr();
string message = "Windows Hello Test";
var data = new byte[] { 0x32, 0x32 };
IAuthProvider provider = new WinHelloProvider("Hello", handle);
IAuthProvider provider = WinHelloProvider.CreateInstance(message, handle);
var encryptedData = provider.Encrypt(data);
var decryptedData = provider.PromptToDecrypt(encryptedData);
CollectionAssert.AreEqual(data, decryptedData);
Expand Down
2 changes: 1 addition & 1 deletion WindowsHello/WindowsHello.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27428.2011
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsHello.Tests", "WindowsHello.Tests\WindowsHello.Tests.csproj", "{1CDA9CEF-8B5D-442B-8BC4-4D25F9E2826C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WindowsHello.Tests", "WindowsHello.Tests\WindowsHello.Tests.csproj", "{1CDA9CEF-8B5D-442B-8BC4-4D25F9E2826C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsHello", "WindowsHello\WindowsHello.csproj", "{23B8E703-7DF1-4BD1-B49D-BE06D76C6681}"
EndProject
Expand Down
92 changes: 92 additions & 0 deletions WindowsHello/WindowsHello/Exceptions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
using System;
using System.Runtime.Serialization;

namespace WindowsHello
{
[Serializable]
public class WindowsHelloException : Exception
{
public virtual bool IsPresentable { get { return false; } }

public WindowsHelloException() { }
public WindowsHelloException(string message) : base(message) { }
public WindowsHelloException(string message, Exception inner) : base(message, inner) { }
protected WindowsHelloException(SerializationInfo info, StreamingContext context) : base(info, context) { }
}

[Serializable]
public class AuthProviderException : WindowsHelloException
{
public AuthProviderException() { }
public AuthProviderException(string message) : base(message) { }
public AuthProviderException(string message, Exception inner) : base(message, inner) { }
protected AuthProviderException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

[Serializable]
public class AuthProviderUserCancelledException : AuthProviderException
{
public AuthProviderUserCancelledException() : this("Operation was canceled by user.") { }
public AuthProviderUserCancelledException(string message) : base(message) { }
public AuthProviderUserCancelledException(string message, Exception inner) : base(message, inner) { }
protected AuthProviderUserCancelledException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

[Serializable]
public class AuthProviderInvalidKeyException : AuthProviderException
{
public override bool IsPresentable { get { return true; } }

public AuthProviderInvalidKeyException(string message) : base(message) { }
public AuthProviderInvalidKeyException(string message, Exception inner) : base(message, inner) { }
protected AuthProviderInvalidKeyException() { }
protected AuthProviderInvalidKeyException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

[Serializable]
public class AuthProviderIsUnavailableException : AuthProviderException
{
public AuthProviderIsUnavailableException() : this("Authentication provider is not available.") { }
public AuthProviderIsUnavailableException(string message) : base(message) { }
public AuthProviderIsUnavailableException(string message, Exception inner) : base(message, inner) { }
protected AuthProviderIsUnavailableException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

[Serializable]
public class EnviromentErrorException : WindowsHelloException
{
public EnviromentErrorException() { }
public EnviromentErrorException(string message) : base(message) { }
public EnviromentErrorException(string message, Exception inner) : base(message, inner) { }

public EnviromentErrorException(string debugInfo, int errorCode) : this(debugInfo + "\nError code: " + errorCode.ToString("X"))
{
// TODO: Implement ExternalException logic
}

protected EnviromentErrorException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

[Serializable]
public class AuthProviderSystemErrorException : EnviromentErrorException
{
public AuthProviderSystemErrorException() { }
public AuthProviderSystemErrorException(string message, int errorCode) : base(message, errorCode) { }
public AuthProviderSystemErrorException(string message) : base(message) { }
public AuthProviderSystemErrorException(string message, Exception inner) : base(message, inner) { }
protected AuthProviderSystemErrorException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

}
Loading

0 comments on commit a90c0cc

Please sign in to comment.