UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Settings.Configs Class Reference

Support for reading and writing printer configurations. More...

Inheritance diagram for UniPRT.Sdk.Settings.Configs:
UniPRT.Sdk.Settings.IConfigs

Public Member Functions

 Configs (IComm connection)
 Must pass an opened comm connection that can remain opened if listening for unsolicited msgs from printer. More...
 
 Configs (string commDescriptor)
 Constructor called when creating a connection managed by the SDK. More...
 
void Dispose ()
 
List< ConfigGetAllConfig ()
 Inherited from IConfigs.GetAllConfig.
 
Config GetConfig (int CfgNumber)
 Inherited from IConfigs.GetConfig.
 
bool SetConfig (Config Cfg)
 Inherited from IConfigs.SetConfig.
 

Protected Member Functions

virtual void Dispose (bool disposing)
 

Detailed Description

Support for reading and writing printer configurations.

Examples


using System;
using System.Collections.Generic;
using System.IO;
using UniPRT.Sdk.Comm;
namespace Snippets
{
class MyConfigs
{
public static void MainConfigs(string[] args)
{
IComm ptrComm;
// make sure path exists before attempting to run this code
string filePath = @"C:\zMyBackupConfigs\";
// First get and open communication with printer
ptrComm = new TcpConnection("192.168.1.50", TcpConnection.DEFAULT_MGMT_PORT);
ptrComm.Open();
// read, rename, backup, restore configurations
Console.WriteLine(Environment.NewLine + $"Backing up all configs to path '{filePath}'..." + Environment.NewLine);
BackupAllConfigsToFiles(ptrComm, filePath);
Console.WriteLine(Environment.NewLine + "Reading some configs..." + Environment.NewLine);
ReadPrinterConfigNum(ptrComm, 0);
ReadPrinterConfigNum(ptrComm, 6);
Console.WriteLine(Environment.NewLine + "Renaming configs..." + Environment.NewLine);
RenameConfigs(ptrComm);
Console.WriteLine(Environment.NewLine + "Restoring a config from a file..." + Environment.NewLine);
RestoreConfigFromFile(ptrComm, filePath + "config1.txt");
// make sure to close the communication with printer
ptrComm.Close();
}
public static void ReadPrinterConfigNum(IComm ptrComm, int CfgNum)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Console.WriteLine($"Reading config number: {CfgNum}");
Configs myConfigs = new Configs(ptrComm);
Config cfg = myConfigs.GetConfig(CfgNum);
if (cfg != null)
{
Console.WriteLine($"Number: {cfg.Number}, Named: {cfg.Name}");
Console.WriteLine($"Read from printer model {cfg.Model}");
// uncomment below to show all config content
//Console.WriteLine($"{cfg.ToString()}");
}
else
{
Console.WriteLine("Config not found.");
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
// read all configs and rename as "myCfgX" where "X" is the config number
public static void RenameConfigs(IComm ptrComm)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Configs myConfigs = new Configs(ptrComm);
// Read all Configs
List<Config> cfgs = myConfigs.GetAllConfig();
// rename each config
foreach (Config cfg in cfgs)
{
// rename each config "myCfgX" where "X" is the config number
cfg.Name = "myCfg" + cfg.Number;
Console.WriteLine($"Renaming and Saving config. Num: {cfg.Number}, Name: {cfg.Name}");
myConfigs.SetConfig(cfg);
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
// Read all configs and save each config to separate file
public static void BackupAllConfigsToFiles(IComm ptrComm, string savePath)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Configs myConfigs = new Configs(ptrComm);
// Read all Configs
List<Config> cfgs = myConfigs.GetAllConfig();
// Save each config to dedicated file name "config<num>.txt"
foreach (Config cfg in cfgs)
{
Console.WriteLine($"Saving config-- Num: {cfg.Number}, Name: {cfg.Name}");
using (StreamWriter writer = new StreamWriter(savePath + $"config{cfg.Number}.txt"))
{
writer.Write(cfg.ToString());
}
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
// read a config that was previously save to a file
public static void RestoreConfigFromFile(IComm ptrComm, string filePath)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
string myBackupConfig = File.ReadAllText(filePath);
Config myConfig = new Config(myBackupConfig);
Configs ptrConfigs = new Configs(ptrComm);
// Write the config to the printer
if (ptrConfigs.SetConfig(myConfig))
{
Console.WriteLine($"Config Num: {myConfig.Number} restored");
}
else
{
Console.WriteLine("Config restore failed.");
}
ptrConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
}
}

Constructor & Destructor Documentation

◆ Configs() [1/2]

UniPRT.Sdk.Settings.Configs.Configs ( IComm  connection)

Must pass an opened comm connection that can remain opened if listening for unsolicited msgs from printer.

A connection is necessary to send/receive printer status msgs.

◆ Configs() [2/2]

UniPRT.Sdk.Settings.Configs.Configs ( string  commDescriptor)

Constructor called when creating a connection managed by the SDK.

commDescriptor is descriptor for the communication used to connect with printer.
TCP descriptor format: "ip" or "ip:port"
e.g., "127.0.0.1" or "127.0.0.1:3007"
If port is not provided, default value is used.

UniPRT.Sdk.Settings
Definition: Configs.cs:11
UniPRT.Sdk.Settings.Configs.Configs
Configs(IComm connection)
Must pass an opened comm connection that can remain opened if listening for unsolicited msgs from pri...
Definition: Configs.cs:215
UniPRT
Provide support for different communication interfaces/ports.
Definition: Communication.cs:9
UniPRT.Sdk.Comm
Definition: Communication.cs:9
UniPRT.Sdk
Definition: Communication.cs:9