Skip to content

Commit

Permalink
Merge pull request #1 from sakapon/master-remastered
Browse files Browse the repository at this point in the history
Reinitialize repository
  • Loading branch information
sakapon committed Mar 2, 2014
2 parents bd04135 + 995ccd3 commit d441069
Show file tree
Hide file tree
Showing 74 changed files with 679 additions and 6,300 deletions.
108 changes: 108 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
[Bb]in/
[Oo]bj/

# mstest test results
TestResults

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates

# Build results
[Dd]ebug/
[Rr]elease/
x64/
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.log
*.vspscc
*.vssscc
.builds

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# Installshield output folder
[Ee]xpress

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish

# Publish Web Output
*.Publish.xml

# NuGet Packages Directory
packages

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
[Bb]in
[Oo]bj
sql
TestResults
[Tt]est[Rr]esult*
*.Cache
ClientBin
[Ss]tyle[Cc]op.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
4 changes: 4 additions & 0 deletions FelicaLib_Remastered/.nuget/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NuGet.CommandLine" version="2.8.0" />
</packages>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/*
felicalib - FeliCa access wrapper library
Copyright (c) 2007-2010, Takuya Murakami, All rights reserved.
Expand Down Expand Up @@ -44,7 +44,7 @@ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
namespace FelicaLib
{
/// <summary>
/// DLL遅延バインディングクラス
/// DLL遅延バインディングクラス
/// </summary>
public class BindDLL : IDisposable
{
Expand All @@ -58,9 +58,9 @@ public class BindDLL : IDisposable
private IntPtr _pModule;

/// <summary>
/// DLLのロード・オブジェクト生成
/// DLLのロード・オブジェクト生成
/// </summary>
/// <param name="szFilename">バインドするDLL名</param>
/// <param name="szFilename">バインドするDLL名</param>
public BindDLL(string szFilename)
{
_pModule = BindDLL.LoadLibrary(szFilename);
Expand All @@ -73,11 +73,11 @@ public BindDLL(string szFilename)
}

/// <summary>
/// 指定名のアンマネージ関数ポインタをデリゲートに変換
/// 指定名のアンマネージ関数ポインタをデリゲートに変換
/// </summary>
/// <param name="szProcName">アンマネージ関数名</param>
/// <param name="typDelegate">変換するデリゲートのType</param>
/// <returns>変換したデリゲート</returns>
/// <param name="szProcName">アンマネージ関数名</param>
/// <param name="typDelegate">変換するデリゲートのType</param>
/// <returns>変換したデリゲート</returns>
public Delegate GetDelegate(string szProcName, Type typDelegate)
{
IntPtr pProc = BindDLL.GetProcAddress(_pModule, szProcName);
Expand All @@ -90,7 +90,7 @@ public Delegate GetDelegate(string szProcName, Type typDelegate)
throw Marshal.GetExceptionForHR(nResult);
}

#region IDisposable メンバ
#region IDisposable メンバ

public void Dispose()
{
Expand All @@ -103,21 +103,21 @@ public void Dispose()
#endregion
}

// システムコード
// システムコード
enum SystemCode : int
{
Any = 0xffff, // ANY
Common = 0xfe00, // 共通領域
Cyberne = 0x0003, // サイバネ領域
Common = 0xfe00, // 共通領域
Cyberne = 0x0003, // サイバネ領域

Edy = 0xfe00, // Edy (=共通領域)
Suica = 0x0003, // Suica (=サイバネ領域)
Edy = 0xfe00, // Edy (=共通領域)
Suica = 0x0003, // Suica (=サイバネ領域)
QUICPay = 0x04c1, // QUICPay
}

public class Felica : IDisposable
{
// 遅延ロード用Delegate定義
// 遅延ロード用Delegate定義
private delegate IntPtr Pasori_open(String dummy);
private delegate int Pasori_close(IntPtr p);
private delegate int Pasori_init(IntPtr p);
Expand All @@ -127,7 +127,7 @@ public class Felica : IDisposable
private delegate void Felica_getpmm(IntPtr f, byte[] data);
private delegate int Felica_read_without_encryption02(IntPtr f, int servicecode, int mode, byte addr, byte[] data);

// 遅延ロード用Delegate
// 遅延ロード用Delegate
private Pasori_open pasori_open = null;
private Pasori_close pasori_close = null;
private Pasori_init pasori_init = null;
Expand All @@ -144,14 +144,14 @@ public class Felica : IDisposable
private IntPtr felicap = IntPtr.Zero;

/// <summary>
/// コンストラクタ
/// コンストラクタ
/// </summary>
public Felica()
{
// x64対応 20100501 - DeForest
// x64対応 20100501 - DeForest
try
{
// プラットフォーム別のロードモジュール名決定(x64/x86サポート、Iteniumはサポート外)
// プラットフォーム別のロードモジュール名決定(x64/x86サポート、Iteniumはサポート外)
if (System.IntPtr.Size >= 8) // x64
{
szDLLname = "felicalib64.dll";
Expand All @@ -160,9 +160,9 @@ public Felica()
{
szDLLname = "felicalib.dll";
}
// DLLロード
// DLLロード
bdDLL = new BindDLL(szDLLname);
// エントリー取得
// エントリー取得
pasori_open = (Pasori_open)bdDLL.GetDelegate("pasori_open", typeof(Pasori_open));
pasori_close = (Pasori_close)bdDLL.GetDelegate("pasori_close", typeof(Pasori_close));
pasori_init = (Pasori_init)bdDLL.GetDelegate("pasori_init", typeof(Pasori_init));
Expand All @@ -174,24 +174,24 @@ public Felica()
}
catch (Exception)
{
throw new Exception(szDLLname + " をロードできません");
throw new Exception(szDLLname + " をロードできません");
}

pasorip = pasori_open(null);
if (pasorip == IntPtr.Zero)
{
throw new Exception(szDLLname + " を開けません");
throw new Exception(szDLLname + " を開けません");
}
if (pasori_init(pasorip) != 0)
{
throw new Exception("PaSoRi に接続できません");
throw new Exception("PaSoRi に接続できません");
}
}

#region IDisposable メンバ
#region IDisposable メンバ

/// <summary>
/// オブジェクト破棄時処理
/// オブジェクト破棄時処理
/// </summary>
public void Dispose()
{
Expand All @@ -209,32 +209,32 @@ public void Dispose()
#endregion

/// <summary>
/// デストラクタ
/// デストラクタ
/// </summary>
~Felica()
{
Dispose();
}

/// <summary>
/// ポーリング
/// ポーリング
/// </summary>
/// <param name="systemcode">システムコード</param>
/// <param name="systemcode">システムコード</param>
public void Polling(int systemcode)
{
felica_free(felicap);

felicap = felica_polling(pasorip, (ushort)systemcode, 0, 0);
if (felicap == IntPtr.Zero)
{
throw new Exception("カード読み取り失敗");
throw new Exception("カード読み取り失敗");
}
}

/// <summary>
/// IDm取得
/// IDm取得
/// </summary>
/// <returns>IDmバイナリデータ</returns>
/// <returns>IDmバイナリデータ</returns>
public byte[] IDm()
{
if (felicap == IntPtr.Zero)
Expand All @@ -245,12 +245,12 @@ public byte[] IDm()
byte[] buf = new byte[8];
felica_getidm(felicap, buf);
return buf;
}
}

/// <summary>
/// PMm取得
/// PMm取得
/// </summary>
/// <returns>PMmバイナリデータ</returns>
/// <returns>PMmバイナリデータ</returns>
public byte[] PMm()
{
if (felicap == IntPtr.Zero)
Expand All @@ -261,14 +261,14 @@ public byte[] PMm()
byte[] buf = new byte[8];
felica_getpmm(felicap, buf);
return buf;
}
}

/// <summary>
/// 非暗号化領域読み込み
/// 非暗号化領域読み込み
/// </summary>
/// <param name="servicecode">サービスコード</param>
/// <param name="addr">アドレス</param>
/// <returns>データ</returns>
/// <param name="servicecode">サービスコード</param>
/// <param name="addr">アドレス</param>
/// <returns>データ</returns>
public byte[] ReadWithoutEncryption(int servicecode, int addr)
{
if (felicap == IntPtr.Zero)
Expand Down
Loading

0 comments on commit d441069

Please sign in to comment.