#region GPL
// Copyright (c) Evan Hazlett, 2005
// Sourcefile: Config.cs
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed WITHOUT ANY WARRANTY.
// See the GNU General Public License for more details.
//
// Evan Hazlett - linx@pixolight.com
//
#endregion
#region Using Directives
using System;
using System.Xml;
using System.Data;
#endregion
namespace FileSync.Core{
/// <summary>
/// Configuration class. - Saves and Loads settings and FileSync jobs.
/// </summary>
public class Config
{
#region Fields
private FileSyncJob job;
#endregion
#region Constructor
public Config()
{
}
#endregion
#region Private Methods
#endregion
#region Public Methods
/// <summary>
/// Saves a FileSync job.
/// </summary>
/// <param name="fileName">The filename to save to.</param>
/// <param name="jobName">The name of the job.</param>
/// <param name="sourceDirectory">The source directory as a string.</param>
/// <param name="destinationDirectory">The destination directory as a string.</param>
/// <param name="lastSync">The date of the last sync as a string.</param>
public void SaveJob ( string fileName, string jobName, string sourceDirectory, string destinationDirectory, string lastSync )
{
// create new job object
job = new FileSyncJob();
// create new DataRow
DataRow row = job.Tables["job"].NewRow();
row["name"] = jobName;
row["sourceDirectory"] = sourceDirectory;
row["destinationDirectory"] = destinationDirectory;
row["lastSync"] = lastSync;
job.Tables["job"].Rows.Add ( row );
job.WriteXml ( fileName );
}
/// <summary>
/// Loads a FileSync job from a file.
/// </summary>
/// <param name="fileName">The job file to load.</param>
/// <returns>A string array with job settings. - 0-Name, 1-SourceDir, 2-DestDir, 3-LastSync</returns>
public string[] LoadJob ( string fileName )
{
// create new job object
job = new FileSyncJob();
string[] jobConfig = new string [4];
job.ReadXml ( fileName );
// get row 0; each job has only 1 row
DataRow row = job.Tables["job"].Rows[0];
// load the data into the string array
jobConfig[0] = (string)row["name"];
jobConfig[1] = (string)row["sourceDirectory"];
jobConfig[2] = (string)row["destinationDirectory"];
jobConfig[3] = (string)row["lastSync"];
return jobConfig;
}
#endregion
}
}
|