5.1. SMNetworkManager

プリンタのネットワーク設定を行うためのクラスです。

  • コンストラクタ

    名称

    説明

    init

    インスタンスを生成します。

  • メソッド

    名称

    説明

    load

    接続したプリンタから設定を取得します。

    apply

    プリンタに指定した値を設定します。

各モデルにおいて機能するメソッドは以下のとおりです。

モデル/エミュレーション

mC-Print2 mC-Print3 mC-Label3
StarPRNT StarPRNT StarPRNT

load

apply

5.1.1. init

インスタンスを生成します。

  • 宣言

    public init?(portName: String)
    
  • 引数

    引数

    説明

    portName

    getPort メソッドのportNameと同じです。

    String

  • 戻り値

    説明

    SMNetworkManager オブジェクト
    失敗時は、nil が返されます。

    init

5.1.2. load

接続したプリンタから設定を取得します。

  • 宣言

    func load() throws -> SMNetworkSetting
    
  • 引数

    なし

  • 戻り値

    説明

    ネットワーク設定内容

    SMNetworkSetting

  • 例外

    説明

    ポートオープンに失敗したとき
    誤ったportNameを設定したとき
    通信エラーが発生したとき

    StarIODeviceSettingException

  • 実装例

    guard let portName = self.portNameTextField.text else { return }
    
    DispatchQueue.global().async {
    
        guard let starNetworkManager = SMNetworkManager(portName:portName) else { return }
    
        let starNetworkSetting : SMNetworkSetting
    
        do {
            starNetworkSetting = try starNetworkManager.load()
        } catch {
        }
    }
    

    StarIODeviceSettingSDKを参照ください。

5.1.3. apply

プリンタに指定した値を設定します。

重要

本メソッド実行後、プリンターのリセットがかかります。

  • 宣言

    func apply(SMNetworkSetting) throws
    
  • 引数

    名称

    説明

    setting

    ネットワーク設定情報

    SMNetworkSetting

  • 戻り値

    なし

  • 例外

    説明

    ポートオープンに失敗したとき
    誤ったportNameを設定したとき
    通信エラーが発生したとき

    StarIODeviceSettingException

  • 実装例

    guard let portName = self.portNameTextField.text else { return }
    
    DispatchQueue.global().async {
    
        guard let starNetworkManager = SMNetworkManager(portName: portName) else { return }
        let starNetworkSetting = SMNetworkSetting()
    
        //Example) When setting to SteadyLanSetting to "Disable"
        starNetworkSetting.steadyLAN = .disable
    
        do {
            try starNetworkManager.apply(starNetworkSetting)
        } catch {
        }
    }
    

    StarIODeviceSettingSDKを参照ください。