Skip to content

Commit

Permalink
Using event registration for IndexedDB API callbacks
Browse files Browse the repository at this point in the history
  • Loading branch information
aschoenebeck committed Jan 17, 2013
1 parent 605fb58 commit c70faaf
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 31 deletions.
34 changes: 25 additions & 9 deletions src/Libraries/Web/Html/Data/IDBDatabase.cs
Expand Up @@ -35,7 +35,7 @@ public sealed class IDBDatabase {

public void DeleteObjectStore(string name) {
}

public IDBTransaction Transaction(string[] storenames) {
return default(IDBTransaction);
}
Expand All @@ -47,22 +47,38 @@ public sealed class IDBDatabase {
public void Close() {
}

[ScriptName("onabort")]
public IDBDatabaseDelegate OnAbort;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBDatabaseCallback Abort {
add {
}
remove {
}
}

[ScriptName("onerror")]
public IDBDatabaseDelegate OnError;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBDatabaseCallback Error {
add {
}
remove {
}
}

[ScriptName("onversionchange")]
public IDBDatabaseVersionChangeDelegate OnVersionChange;
[ScriptEvent("addEventListener", "removeEventListener")]
[ScriptName("versionchange")]
public event IDBDatabaseVersionChangeCallback VersionChange {
add {
}
remove {
}
}
}

[ScriptIgnoreNamespace]
[ScriptImport]
public delegate void IDBDatabaseDelegate(IDBEvent<IDBDatabase> e);
public delegate void IDBDatabaseCallback(IDBEvent<IDBDatabase> e);

[ScriptIgnoreNamespace]
[ScriptImport]
public delegate void IDBDatabaseVersionChangeDelegate(IDBVersionChangeEvent<IDBDatabase> e);
public delegate void IDBDatabaseVersionChangeCallback(IDBVersionChangeEvent<IDBDatabase> e);

}
23 changes: 17 additions & 6 deletions src/Libraries/Web/Html/Data/IDBOpenDBRequest.cs
Expand Up @@ -10,18 +10,29 @@ public class IDBOpenDBRequest : IDBRequest {
protected IDBOpenDBRequest() {
}

[ScriptName("onblocked")]
public IDBOpenDBRequestDelegate OnBlocked;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBOpenDBRequestCallback Blocked {
add {
}
remove {
}
}

[ScriptName("onupgradeneeded")]
public IDBOpenDBRequestVersionChangeDelegate OnUpgradeNeeded;
[ScriptEvent("addEventListener", "removeEventListener")]
[ScriptName("upgradeneeded")]
public event IDBOpenDBRequestVersionChangeCallback UpgradeNeeded {
add {
}
remove {
}
}
}

[ScriptIgnoreNamespace]
[ScriptImport]
public delegate void IDBOpenDBRequestDelegate(IDBEvent<IDBOpenDBRequest> e);
public delegate void IDBOpenDBRequestCallback(IDBEvent<IDBOpenDBRequest> e);

[ScriptIgnoreNamespace]
[ScriptImport]
public delegate void IDBOpenDBRequestVersionChangeDelegate(IDBVersionChangeEvent<IDBOpenDBRequest> e);
public delegate void IDBOpenDBRequestVersionChangeCallback(IDBVersionChangeEvent<IDBOpenDBRequest> e);
}
23 changes: 17 additions & 6 deletions src/Libraries/Web/Html/Data/IDBRequest.cs
Expand Up @@ -16,7 +16,8 @@ public class IDBRequest {
}

[ScriptField]
public object Error {
[ScriptName("error")]
public object ErrorObject {
get { return null; }
}

Expand All @@ -35,15 +36,25 @@ public class IDBRequest {
get { return null; }
}

[ScriptName("onsuccess")]
public IDBRequestDelegate OnSuccess;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBRequestCallback Success {
add {
}
remove {
}
}

[ScriptName("onerror")]
public IDBRequestDelegate OnError;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBRequestCallback Error {
add {
}
remove {
}
}
}

[ScriptIgnoreNamespace]
[ScriptImport]
public delegate void IDBRequestDelegate(IDBEvent<IDBRequest> e);
public delegate void IDBRequestCallback(IDBEvent<IDBRequest> e);

}
36 changes: 26 additions & 10 deletions src/Libraries/Web/Html/Data/IDBTransaction.cs
Expand Up @@ -21,30 +21,46 @@ public sealed class IDBTransaction {
}

[ScriptField]
public object Error {
[ScriptName("error")]
public object ErrorObject {
get { return null; }
}

public IDBObjectStore ObjectStore(string name) {
return null;
}

public void Abort() {
[ScriptName("abort")]
public void AbortTransaction() {
}

[ScriptName("onabort")]
public IDBTransactionDelegate OnAbort;

[ScriptName("oncomplete")]
public IDBTransactionDelegate OnComplete;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBTransactionCallback Abort{
add {
}
remove {
}
}

[ScriptName("onerror")]
public IDBTransactionDelegate OnError;
[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBTransactionCallback Complete {
add {
}
remove {
}
}

[ScriptEvent("addEventListener", "removeEventListener")]
public event IDBTransactionCallback Error {
add {
}
remove {
}
}
}

[ScriptIgnoreNamespace]
[ScriptImport]
public delegate void IDBTransactionDelegate(IDBEvent<IDBTransaction> e);
public delegate void IDBTransactionCallback(IDBEvent<IDBTransaction> e);

}

0 comments on commit c70faaf

Please sign in to comment.