Line | |
---|
1 | using System;
|
---|
2 | using System.Collections.Generic;
|
---|
3 | using System.Text;
|
---|
4 | using System.IO;
|
---|
5 |
|
---|
6 | namespace IndianHealthService.BMXNet.WinForm.Configuration
|
---|
7 | {
|
---|
8 |
|
---|
9 | /// <summary>
|
---|
10 | /// The persistent store interface is to save local setting configuration data. The
|
---|
11 | /// settings are written and read based on a string a keys, like a path.
|
---|
12 | ///
|
---|
13 | /// The keys are application specific. Some example could be: "Product","Version"
|
---|
14 | ///
|
---|
15 | /// The location of the PersistentStore is based on the implementation. The LocalPersistentStore
|
---|
16 | /// provides the settings to be stored in special OS forlders like Environment.SpecialFolder.LocalApplicationData
|
---|
17 | /// so that the settings would be based both on the logged in user and keys.
|
---|
18 | /// </summary>
|
---|
19 | public interface PersistentStore
|
---|
20 | {
|
---|
21 |
|
---|
22 | /// <summary>
|
---|
23 | /// The implementor must serialize the object anObject given the keys.
|
---|
24 | /// </summary>
|
---|
25 | /// <typeparam name="T">The type of the object to be serialized to the store</typeparam>
|
---|
26 | /// <param name="anObject">The objects to be stored</param>
|
---|
27 | /// <param name="keys">The key used to locate the settings</param>
|
---|
28 | void Write<T>(T anObject, params string[] keys);
|
---|
29 |
|
---|
30 | /// <summary>
|
---|
31 | /// The implementor must deserialize an object of type T from the given location based
|
---|
32 | /// on the keys
|
---|
33 | /// </summary>
|
---|
34 | /// <typeparam name="T">The type of the object to be deserialized from the store</typeparam>
|
---|
35 | /// <param name="keys">The keys used to locate the object</param>
|
---|
36 | /// <returns>An deserialized object, or null if no valid objects exists at the keys</returns>
|
---|
37 | T Read<T>(params string[] keys);
|
---|
38 | }
|
---|
39 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.