JP7243064B2 - Information processing device, program, information processing system and information processing method - Google Patents

Information processing device, program, information processing system and information processing method Download PDF

Info

Publication number
JP7243064B2
JP7243064B2 JP2018138043A JP2018138043A JP7243064B2 JP 7243064 B2 JP7243064 B2 JP 7243064B2 JP 2018138043 A JP2018138043 A JP 2018138043A JP 2018138043 A JP2018138043 A JP 2018138043A JP 7243064 B2 JP7243064 B2 JP 7243064B2
Authority
JP
Japan
Prior art keywords
information
request
program
device information
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018138043A
Other languages
Japanese (ja)
Other versions
JP2019067367A (en
Inventor
泰宏 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/142,323 priority Critical patent/US10389901B2/en
Publication of JP2019067367A publication Critical patent/JP2019067367A/en
Application granted granted Critical
Publication of JP7243064B2 publication Critical patent/JP7243064B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、プログラム、情報処理システム及び情報処理方法に関する。 The present invention relates to an information processing device, a program, an information processing system, and an information processing method.

MFP(Multifunction Peripheral)等の機器から各種情報を取得したり、機器に対して各種処理の実行を要求したりするためのライブラリを機器の製造元企業が外部企業に提供することが行われている。外部企業は、製造元企業から提供されたライブラリを利用することで、機器から各種情報を取得したり、機器に対して各種処理の実行を要求したりするための処理を直接実装することなく、機器と連携した処理を行う独自のアプリケーションを作成することができる。 Equipment manufacturer companies provide external companies with libraries for acquiring various information from equipment such as MFPs (Multifunction Peripherals) and for requesting the equipment to execute various processes. By using the library provided by the manufacturer company, the external company can obtain various information from the device, and without directly implementing the processing to request the device to execute various processes, You can create your own application that performs processing linked to

また、セキュリティを適切に維持しつつ、API(Application Programming Interface)等のインタフェースの少なくとも一部が公開されているフレームワークの機能を拡張させることができる画像形成装置が知られている(例えば特許文献1参照)。 Further, there is known an image forming apparatus capable of extending the functions of a framework in which at least a part of an interface such as an API (Application Programming Interface) is open to the public while appropriately maintaining security (for example, Patent Document 1).

ところで、機器の製造元企業から提供されるライブラリを利用することで、例えば、機器のIP(Internet Protocol)アドレスや機器がサポートしているデータ形式等の機器情報を取得することができる。 By using a library provided by a device manufacturer, it is possible to acquire device information such as the IP (Internet Protocol) address of the device and the data format supported by the device.

しかしながら、外部企業が作成するアプリケーションにおいて、機器から取得された機器情報が書き換えられてしまう場合があった。機器情報が書き換えられ、機器情報に不整合等が生じた場合、機器が意図しない動作を行う恐れがある。 However, in an application created by an external company, device information acquired from a device may be rewritten. If the device information is rewritten and inconsistency or the like occurs in the device information, the device may perform an unintended operation.

本発明の実施の形態は、上記の点に鑑みてなされたもので、機器から取得された情報の不正な書き換えを防止することを目的とする。 Embodiments of the present invention have been made in view of the above points, and aim to prevent unauthorized rewriting of information acquired from a device.

上記目的を達成するため、本発明の実施の形態は、所定の機能を提供するプログラムを有する情報処理装置であって、前記プログラムからの第1の要求に応じて、前記情報処理装置と接続される機器から所定の情報を含む情報を取得する取得部と、前記取得部により取得された情報を、前記プログラムと異なるパッケージに属するクラスであって、前記所定の情報を更新または参照するためのアクセス修飾子が定義されていないクラスにすることで、前記所定の情報に対して、前記プログラムにより更新または参照の要求ができないように制限する要求制御部と、前記プログラムからの第2の要求に応じて、前記取得部が取得した前記情報であって前記要求制御部によって前記プログラムからの要求が制限される前記所定の情報に基づいて、前記機器に対して、前記第2の要求に対応する処理の実行を要求する処理要求部と、を有することを特徴とする。
In order to achieve the above object, an embodiment of the present invention provides an information processing apparatus having a program that provides a predetermined function, wherein the information processing apparatus is connected to the information processing apparatus in response to a first request from the program. an acquisition unit that acquires information including predetermined information from a device that receives the information, and accesses the information acquired by the acquisition unit to a class that belongs to a package different from the program and updates or refers to the predetermined information. a request control unit that restricts the program from requesting update or reference to the predetermined information by making it a class with no modifiers defined; and responding to a second request from the program. a process corresponding to the second request to the device based on the predetermined information, which is the information acquired by the acquisition unit and for which requests from the program are restricted by the request control unit. and a processing request unit that requests execution of

機器から取得された情報の不正な書き換えを防止することができる。 It is possible to prevent unauthorized rewriting of information acquired from a device.

第一の実施形態に係る印刷システムの全体構成の一例を示す図である。1 is a diagram showing an example of the overall configuration of a printing system according to a first embodiment; FIG. 印刷アプリケーションの構成の一例を説明する図である。2 is a diagram illustrating an example of the configuration of a print application; FIG. 第一の実施形態に係る端末装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the terminal device which concerns on 1st embodiment. 第一の実施形態に係る機器のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the apparatus which concerns on 1st embodiment. 第一の実施形態に係る端末装置の機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the terminal device which concerns on 1st embodiment. 機器情報インスタンスの一例を示す図である。It is a figure which shows an example of a device information instance. 印刷設定情報インスタンスの一例を示す図である。FIG. 10 is a diagram illustrating an example of a print setting information instance; FIG. ベンダ開発プログラムのパッケージと印刷ライブラリのパッケージとの関係の一例を説明する図である。FIG. 3 is a diagram illustrating an example of a relationship between a vendor development program package and a print library package; 機器情報クラスの一例を示す図である。It is a figure which shows an example of a device information class. 印刷設定情報クラスの一例を示す図である。FIG. 4 is a diagram showing an example of a print setting information class; 機器情報取得クラスの一例を示す図である。It is a figure which shows an example of a device information acquisition class. 印刷処理クラスの一例を示す図である。FIG. 4 is a diagram showing an example of a print processing class; ベンダ開発プログラムのプログラムコードの一例を示す図である。FIG. 4 is a diagram showing an example of program code of a vendor development program; 第一の実施形態に係る印刷処理の一例を示すシーケンス図である。4 is a sequence diagram showing an example of print processing according to the first embodiment; FIG. 機器確認画面の一例を示す図である。It is a figure which shows an example of a device confirmation screen. 第二の実施形態に係る投影システムの全体構成の一例を示す図である。FIG. 10 is a diagram showing an example of the overall configuration of a projection system according to a second embodiment; FIG. 投影アプリケーションの構成の一例を説明する図である。FIG. 2 is a diagram illustrating an example of the configuration of a projection application; FIG. 第二の実施形態に係る端末装置の機能構成の一例を示す図である。It is a figure which shows an example of a functional structure of the terminal device which concerns on 2nd embodiment. 機器情報インスタンスの一例を示す図である。It is a figure which shows an example of a device information instance. 投影設定情報インスタンスの一例を示す図である。FIG. 10 is a diagram showing an example of a projection setting information instance; ベンダ開発プログラムのパッケージと投影ライブラリのパッケージとの関係の一例を説明する図である。FIG. 4 is a diagram illustrating an example of a relationship between a vendor-developed program package and a projection library package; 機器情報クラスの一例を示す図である。It is a figure which shows an example of a device information class. 投影設定情報クラスの一例を示す図である。FIG. 10 is a diagram showing an example of a projection setting information class; FIG. 機器情報取得クラスの一例を示す図である。It is a figure which shows an example of a device information acquisition class. 投影処理クラスの一例を示す図である。FIG. 10 is a diagram showing an example of a projection processing class; ベンダ開発プログラムのプログラムコードの一例を示す図である。FIG. 4 is a diagram showing an example of program code of a vendor development program; 第二の実施形態に係る投影処理の一例を示すシーケンス図である。FIG. 10 is a sequence diagram showing an example of projection processing according to the second embodiment; 第三の実施形態に係る開発用端末の機能構成の一例を示す図である。FIG. 11 is a diagram showing an example of the functional configuration of a development terminal according to the third embodiment; 第三の実施形態に係るコンパイル処理の一例を示すフローチャートである。10 is a flowchart showing an example of compilation processing according to the third embodiment;

以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings.

[第一の実施形態]
<全体構成>
まず、本実施形態に係る印刷システム1の全体構成について、図1を参照しながら説明する。図1は、第一の実施形態に係る印刷システム1の全体構成の一例を示す図である。
[First embodiment]
<Overall composition>
First, the overall configuration of a printing system 1 according to this embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of the overall configuration of a printing system 1 according to the first embodiment.

図1に示すように、本実施形態に係る印刷システム1には、1台以上の端末装置10と、1台以上の機器20とが含まれる。また、端末装置10と機器20とは、例えば、Bluetooth(登録商標)等の近距離無線通信を用いて、通信可能に接続される。更に、端末装置10と機器20とは、例えば、Wi-Fi等の無線LAN(Local Area Network)を用いて、通信可能に接続される。 As shown in FIG. 1, a printing system 1 according to the present embodiment includes one or more terminal devices 10 and one or more devices 20. As shown in FIG. Also, the terminal device 10 and the device 20 are communicably connected using short-range wireless communication such as Bluetooth (registered trademark), for example. Further, the terminal device 10 and the device 20 are communicably connected using a wireless LAN (Local Area Network) such as Wi-Fi.

機器20は、MFP等の画像処理装置である。機器20は、端末装置10からの要求に応じて、印刷処理やスキャン処理等の各種画像処理を行う。本実施形態では、機器20がMFPであるものとして説明する。なお、機器20は、MFPに限られず、例えば、コピー機、印刷装置、スキャナ装置、ファクシミリ、デジタルカメラ、プロジェクタ、電子会議用端末、電子黒板装置、オーディオ機器、車載機(例えばカーナビ等)、家電製品(例えば冷蔵庫等)であっても良い。 The device 20 is an image processing device such as an MFP. The device 20 performs various image processing such as print processing and scan processing in response to a request from the terminal device 10 . In this embodiment, it is assumed that the device 20 is an MFP. Note that the device 20 is not limited to an MFP, and includes, for example, a copier, a printer, a scanner device, a facsimile machine, a digital camera, a projector, an electronic conference terminal, an electronic blackboard device, an audio device, an in-vehicle device (such as a car navigation system), a home appliance It may be a product (for example, a refrigerator, etc.).

端末装置10は、スマートフォン等の情報処理装置である。端末装置10には、機器20の製造元企業とは異なる外部企業(以降、「サードベンダ」と表す。)により開発され、機器20と連携した処理を行う印刷アプリケーション100がインストールされている。端末装置10のユーザは、印刷アプリケーション100を用いて、機器20で印刷を行うことができる。 The terminal device 10 is an information processing device such as a smart phone. A printing application 100 developed by an external company (hereinafter referred to as a “third vendor”) different from the manufacturer of the device 20 and performing processing in cooperation with the device 20 is installed in the terminal device 10 . A user of the terminal device 10 can use the print application 100 to print on the device 20 .

なお、端末装置10は、スマートフォンに限られず、例えば、タブレット端末、ノート型PC(パーソナルコンピュータ)、デスクトップ型PC、ゲーム機器、デジタルカメラ、ウェアラブルデバイス等であっても良い。 Note that the terminal device 10 is not limited to a smartphone, and may be, for example, a tablet terminal, a notebook PC (personal computer), a desktop PC, a game device, a digital camera, a wearable device, or the like.

<印刷アプリケーション100の構成>
ここで、サードベンダにより開発された印刷アプリケーション100の構成について、図2を参照しながら説明する。図2は、印刷アプリケーション100の構成の一例を説明する図である。
<Configuration of print application 100>
Here, the configuration of the print application 100 developed by a third vendor will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of the configuration of the print application 100. As shown in FIG.

図2に示すように、印刷アプリケーション100は、サードベンダにより開発され、独自の機能を提供するプログラムであるベンダ開発プログラム110と、機器20の製造元企業が提供するAPI群である印刷ライブラリ120とを有する。 As shown in FIG. 2, the print application 100 includes a vendor development program 110, which is a program developed by a third vendor to provide unique functions, and a print library 120, which is an API group provided by the manufacturer of the device 20. have.

印刷ライブラリ120は、印刷機能を提供するためのプログラムである。印刷ライブラリ120には、例えば、機器20から機器情報を取得するためのAPIや機器20に対して印刷を要求するためのAPI等が定義されている。このため、ベンダ開発プログラム110は、印刷ライブラリ120に定義されたAPIを呼び出すことで、機器20からの機器情報の取得や機器20への印刷要求等、機器20と連携した処理を実現することができる。 The print library 120 is a program for providing print functions. The print library 120 defines, for example, an API for acquiring device information from the device 20 and an API for requesting the device 20 to print. Therefore, the vendor development program 110 can implement processing in cooperation with the device 20, such as obtaining device information from the device 20 and requesting printing from the device 20, by calling the API defined in the print library 120. can.

このとき、印刷ライブラリ120は、例えば、機器20から取得した機器情報等をベンダ開発プログラム110で書き換えることができないようにする。これにより、印刷ライブラリ120により取得された機器情報等が、ベンダ開発プログラム110で不正に書き換えられてしまう事態を防止することができる。 At this time, the print library 120 prevents, for example, the vendor development program 110 from rewriting the device information acquired from the device 20 . As a result, it is possible to prevent the device information and the like acquired by the print library 120 from being illegally rewritten by the vendor development program 110 .

また、印刷ライブラリ120は、例えば、機器20から取得した機器情報等をベンダ開発プログラム110が読み取る場合にも、少なくとも一部の情報を読み取ることができないようにする。これにより、印刷ライブラリ120により取得された機器情報等について、ベンダ開発プログラム110による不要な参照を防止することができ、機器20のセキュリティリスクの低下等を防止することができる。 Also, for example, when the vendor development program 110 reads the device information acquired from the device 20, the print library 120 prevents at least part of the information from being read. As a result, the vendor development program 110 can be prevented from referring to the device information acquired by the print library 120 unnecessarily, and the security risk of the device 20 can be prevented from being lowered.

本実施形態では、ベンダ開発プログラム110及び印刷ライブラリ120は、Java(登録商標)言語で開発されたプログラムであるものとする。したがって、印刷ライブラリ120にはJavaのクラスが定義されている。ベンダ開発プログラム110は、クラス内のメソッド(API)を呼び出すことで、機器20からの機器情報の取得や機器20への印刷要求等を実現することができる。ただし、ベンダ開発プログラム110及び印刷ライブラリ120は、Java言語で開発されている場合に限られない。例えば、C言語、C++言語、Objective-C言語、C#言語等、種々のプログラミング言語で開発されても良い。 In this embodiment, the vendor development program 110 and print library 120 are assumed to be programs developed in the Java (registered trademark) language. Therefore, Java classes are defined in the print library 120 . The vendor development program 110 can implement acquisition of device information from the device 20, a print request to the device 20, and the like by calling a method (API) within the class. However, the vendor development program 110 and print library 120 are not limited to being developed in the Java language. For example, it may be developed in various programming languages such as C language, C++ language, Objective-C language and C# language.

なお、印刷ライブラリ120は、機器20の製造元企業により提供される場合に限られない。印刷ライブラリ120は、例えば、機器20の製造元企業の関連会社等により提供される場合も有り得る。また、印刷ライブラリ120は、例えば、SDK(Software Development Kit)の一部として提供されても良い。 Note that the print library 120 is not limited to being provided by the manufacturer of the device 20 . The print library 120 may be provided, for example, by an affiliated company of the manufacturer of the device 20, or the like. Also, the print library 120 may be provided as part of an SDK (Software Development Kit), for example.

<ハードウェア構成>
≪端末装置10≫
次に、本実施形態に係る端末装置10のハードウェア構成について、図3を参照しながら説明する。図3は、第一の実施形態に係る端末装置10のハードウェア構成の一例を示す図である。
<Hardware configuration>
<<Terminal device 10>>
Next, the hardware configuration of the terminal device 10 according to this embodiment will be described with reference to FIG. FIG. 3 is a diagram showing an example of the hardware configuration of the terminal device 10 according to the first embodiment.

図3に示すように、本実施形態に係る端末装置10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、本実施形態に係る端末装置10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、補助記憶装置18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。 As shown in FIG. 3 , the terminal device 10 according to this embodiment has an input device 11 , a display device 12 , an external I/F 13 and a RAM (Random Access Memory) 14 . The terminal device 10 according to the present embodiment also has a ROM (Read Only Memory) 15 , a CPU (Central Processing Unit) 16 , a communication I/F 17 and an auxiliary storage device 18 . Each of these pieces of hardware are connected by a bus B, respectively.

入力装置11は、例えばタッチパネル等であり、ユーザが各種操作を入力するのに用いられる。なお、入力装置11は、例えば、キーボードやマウス等であっても良い。 The input device 11 is, for example, a touch panel or the like, and is used by the user to input various operations. Note that the input device 11 may be, for example, a keyboard, a mouse, or the like.

表示装置12は、ディスプレイ等であり、端末装置10による処理結果を表示する。外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。端末装置10は、外部I/F13を介して、記録媒体13aの読み取りや書き込みを行うことができる。 The display device 12 is a display or the like, and displays the processing result by the terminal device 10 . The external I/F 13 is an interface with an external device. The external device includes a recording medium 13a and the like. The terminal device 10 can read from and write to the recording medium 13 a via the external I/F 13 .

記録媒体13aには、例えば、USBメモリ、SDメモリカード、フレキシブルディスク、CD、DVD等がある。 The recording medium 13a includes, for example, a USB memory, an SD memory card, a flexible disk, a CD, a DVD, and the like.

RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、例えば、端末装置10の起動時に実行されるBIOS(Basic Input/Output System)、OS(Operating System)設定、及びネットワーク設定等のプログラムやデータが格納されている。 The RAM 14 is a volatile semiconductor memory that temporarily holds programs and data. The ROM 15 is a non-volatile semiconductor memory that can retain programs and data even when power is turned off. The ROM 15 stores, for example, programs and data such as BIOS (Basic Input/Output System), OS (Operating System) settings, and network settings that are executed when the terminal device 10 is started.

CPU16は、ROM15や補助記憶装置18等からプログラムやデータをRAM14上に読み出し、処理を実行することで、端末装置10全体の制御や機能を実現する演算装置である。 The CPU 16 is an arithmetic unit that implements the overall control and functions of the terminal device 10 by reading programs and data from the ROM 15, the auxiliary storage device 18, etc. onto the RAM 14 and executing processing.

通信I/F17は、端末装置10が機器20と通信を行うためのインタフェースである。通信I/F17には、例えば、Bluetoothにより機器20と通信を行うためのBluetoothモジュールと、Wi-Fi等の無線LANにより機器20と通信を行うための無線LANモジュールとが含まれる。 The communication I/F 17 is an interface for the terminal device 10 to communicate with the equipment 20 . The communication I/F 17 includes, for example, a Bluetooth module for communicating with the device 20 via Bluetooth and a wireless LAN module for communicating with the device 20 via a wireless LAN such as Wi-Fi.

補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置18に格納されるプログラムやデータには、端末装置10全体を制御する基本ソフトウェアであるOS、印刷アプリケーション100、その他の各種機能を提供するアプリケーション等がある。補助記憶装置18は、格納しているプログラムやデータを所定のファイルシステムやDB(データベース)により管理している。 The auxiliary storage device 18 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and is a non-volatile storage device that stores programs and data. The programs and data stored in the auxiliary storage device 18 include an OS, which is basic software for controlling the entire terminal device 10, a print application 100, and applications that provide various other functions. The auxiliary storage device 18 manages stored programs and data by means of a predetermined file system or DB (database).

本実施形態に係る端末装置10は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。 The terminal device 10 according to the present embodiment has the hardware configuration shown in FIG. 3, and thus can implement various types of processing described later.

≪機器20≫
次に、本実施形態に係る機器20が、MFP等の画像処理装置である場合におけるハードウェア構成について、図4を参照しながら説明する。図4は、第一の実施形態に係る機器20のハードウェア構成の一例を示す図である。
<<Equipment 20>>
Next, the hardware configuration when the device 20 according to the present embodiment is an image processing device such as an MFP will be described with reference to FIG. FIG. 4 is a diagram showing an example of the hardware configuration of the device 20 according to the first embodiment.

図4に示すように、本実施形態に係る機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プロッタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、補助記憶装置35とを有する。 As shown in FIG. 4, the device 20 according to this embodiment has a controller 21, an operation panel 22, an external I/F 23, a communication I/F 24, a plotter 25, and a scanner . The controller 21 also has a CPU 31 , a RAM 32 , a ROM 33 , an NVRAM 34 and an auxiliary storage device 35 .

ROM33は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している不揮発性の半導体メモリである。また、補助記憶装置35は、例えばHDDやSSD等であり、プログラムやデータを格納している不揮発性の記憶装置である。 The ROM 33 is a non-volatile semiconductor memory that can retain programs and data even when the power is turned off. The RAM 32 is a volatile semiconductor memory that temporarily holds programs and data. The NVRAM 34 is a non-volatile semiconductor memory that stores setting information, for example. Also, the auxiliary storage device 35 is, for example, an HDD, an SSD, or the like, and is a non-volatile storage device that stores programs and data.

CPU31は、ROM33やNVRAM34、補助記憶装置35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。 The CPU 31 is an arithmetic unit that reads programs, data, setting information, and the like from the ROM 33, the NVRAM 34, the auxiliary storage device 35, and the like onto the RAM 32 and executes processing, thereby realizing control and functions of the device 20 as a whole.

操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている入出力装置である。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。機器20は、外部I/F23を介して、記録媒体23aの読み取りや書き込みを行うことができる。 The operation panel 22 is an input/output device that includes an input section for receiving input from a user and a display section for displaying. The external I/F 23 is an interface with an external device. The external device includes a recording medium 23a and the like. The device 20 can read from and write to the recording medium 23 a via the external I/F 23 .

記録媒体23aには、例えば、ICカード、USBメモリ、SDメモリカード、フレキシブルディスク、CD、DVD等がある。 Examples of the recording medium 23a include IC cards, USB memories, SD memory cards, flexible disks, CDs, and DVDs.

通信I/F24は、機器20が端末装置10通信を行うためのインタフェースである。通信I/F24には、例えば、Bluetoothにより端末装置10と通信を行うためのBluetoothモジュールと、無線LANにより端末装置10と通信を行うための無線LANモジュールとが含まれる。なお、通信I/F24には、有線LANにより端末装置10と通信を行うためのLANボード等が含まれても良い。 The communication I/F 24 is an interface for the device 20 to communicate with the terminal device 10 . The communication I/F 24 includes, for example, a Bluetooth module for communicating with the terminal device 10 via Bluetooth and a wireless LAN module for communicating with the terminal device 10 via a wireless LAN. Note that the communication I/F 24 may include a LAN board or the like for communicating with the terminal device 10 via a wired LAN.

プロッタ25は、印刷データを被印刷媒体に印刷するための装置である。なお、被印刷媒体は、紙に限られない。被印刷媒体は、例えば、OHPシートやプラスチックフィルム、銅箔、布等であっても良い。スキャナ26は、原稿を読み取って、画像データを生成する装置である。 The plotter 25 is a device for printing print data on a print medium. Note that the print medium is not limited to paper. The print medium may be, for example, an OHP sheet, plastic film, copper foil, cloth, or the like. The scanner 26 is a device that reads an original and generates image data.

本実施形態に係る機器20は、図4に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。 The device 20 according to the present embodiment has the hardware configuration shown in FIG. 4, and thus can implement various types of processing described later.

<機能構成>
次に、本実施形態に係る端末装置10の機能構成について、図5を参照しながら説明する。図5は、第一の実施形態に係る端末装置10の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the terminal device 10 according to this embodiment will be described with reference to FIG. FIG. 5 is a diagram showing an example of the functional configuration of the terminal device 10 according to the first embodiment.

図5に示すように、本実施形態に係る端末装置10は、機器情報取得要求部111と、表示制御部112と、印刷対象データ設定部113と、印刷設定部114と、実行操作受付部115と、印刷実行要求部116とを有する。これら各部は、ベンダ開発プログラム110がCPU16に実行させる処理により実現される。 As shown in FIG. 5, the terminal device 10 according to the present embodiment includes a device information acquisition request section 111, a display control section 112, a print target data setting section 113, a print setting section 114, and an execution operation reception section 115. and a print execution request unit 116 . These units are realized by processing that the vendor development program 110 causes the CPU 16 to execute.

また、本実施形態に係る端末装置10は、機器情報取得部121と、印刷処理部122とを有する。これら各部は、印刷ライブラリ120がCPU16に実行させる処理により実現される。 Further, the terminal device 10 according to this embodiment has a device information acquisition section 121 and a print processing section 122 . These units are implemented by processing that the print library 120 causes the CPU 16 to execute.

機器情報取得要求部111は、ユーザによる機器情報の取得操作を受け付ける。また、機器情報取得要求部111は、ユーザによる機器情報の取得操作を受け付けると、機器情報の取得を機器情報取得部121に要求する。機器情報取得要求部111は、機器情報取得部121を実現するクラス(このクラスを、以降では「機器情報取得クラス1300」と表す。)内のメソッドを呼び出すことで、機器情報の取得を要求することができる。 The device information acquisition request unit 111 receives device information acquisition operation by the user. Further, upon receiving a device information acquisition operation by the user, the device information acquisition request unit 111 requests the device information acquisition unit 121 to acquire the device information. The device information acquisition request unit 111 requests acquisition of device information by calling a method in a class that implements the device information acquisition unit 121 (this class is hereinafter referred to as a “device information acquisition class 1300”). be able to.

表示制御部112は、機器情報取得部121により取得された機器情報を表示装置12上に表示する。 The display control unit 112 displays the device information acquired by the device information acquisition unit 121 on the display device 12 .

印刷対象データ設定部113は、ユーザによる印刷対象データの選択操作を受け付ける。印刷対象データとは、ユーザが印刷を所望するコンテンツデータのことである。コンテンツデータには、例えば、写真等の画像データや文書データ等が挙げられる。なお、機器20がプロジェクタやオーディオ機器等である場合には、コンテンツデータは、例えば、動画データや音楽データ等であっても良い。 The print target data setting unit 113 receives a user's selection operation of print target data. The print target data is content data that the user desires to print. Content data includes, for example, image data such as photographs, document data, and the like. Note that if the device 20 is a projector, an audio device, or the like, the content data may be video data, music data, or the like, for example.

また、印刷対象データ設定部113は、ユーザによる印刷対象データの選択操作を受け付けると、選択されたコンテンツデータを印刷対象データに設定する。 In addition, upon receiving a user's operation of selecting print data, the print data setting unit 113 sets the selected content data as the print data.

印刷設定部114は、ユーザによる印刷設定情報の指定操作を受け付ける。印刷設定情報には、例えば、部数、印刷ページ範囲、印刷カラー等がある。 The print setting unit 114 accepts an operation of designating print setting information by the user. The print setting information includes, for example, the number of copies, print page range, print color, and the like.

また、印刷設定部114は、ユーザによる印刷設定情報の指定操作を受け付けると、各印刷設定情報が保持される印刷設定情報インスタンス300を生成する。そして、印刷設定部114は、ユーザにより指定された印刷設定情報を印刷設定情報インスタンス300に設定する。印刷設定部114は、印刷設定情報インスタンス300を実現するクラス(このクラスを、以降では「印刷設定情報クラス1200」と表す。)内のメソッドを呼び出すことで、印刷設定情報を設定することができる。 Further, upon receiving a user's operation of designating print setting information, the print setting unit 114 generates a print setting information instance 300 holding each piece of print setting information. The print setting unit 114 then sets the print setting information specified by the user in the print setting information instance 300 . The print setting unit 114 can set print setting information by calling a method in a class that implements the print setting information instance 300 (this class is hereinafter referred to as a “print setting information class 1200”). .

実行操作受付部115は、ユーザによる印刷実行操作を受け付ける。印刷実行要求部116は、実行操作受付部115により印刷実行操作が受け付けられると、印刷実行を印刷処理部122に要求する。印刷実行要求部116は、印刷処理部122を実現するクラス(このクラスを、以降では「印刷処理クラス1400」と表す。)内のメソッドを呼び出すことで、印刷実行を要求することができる。 The execution operation reception unit 115 receives a print execution operation by the user. When the print execution operation is received by the execution operation reception unit 115, the print execution request unit 116 requests the print processing unit 122 to execute printing. The print execution request unit 116 can request print execution by calling a method in a class that implements the print processing unit 122 (this class will hereinafter be referred to as a “print processing class 1400”).

機器情報取得部121は、機器情報取得要求部111からの要求に応じて、機器20から機器情報を取得する。このとき、機器情報取得部121は、例えばBluetooth等の近距離無線通信を用いて、機器20から機器情報を取得する。機器情報には、例えば、IPアドレス、モデル名、サポートPDL(Page Description Language)、ネットワーク情報等がある。 The device information acquisition unit 121 acquires device information from the device 20 in response to a request from the device information acquisition request unit 111 . At this time, the device information acquisition unit 121 acquires device information from the device 20 using short-range wireless communication such as Bluetooth. The device information includes, for example, an IP address, model name, supported PDL (Page Description Language), network information, and the like.

また、機器情報取得部121は、機器20から機器情報を取得すると、取得した各機器情報が保持される機器情報インスタンス200を生成する。そして、機器情報取得部121は、取得した機器情報を機器情報インスタンス200に設定する。機器情報取得部121は、機器情報インスタンス200を実現するクラス(このクラスを、以降では「機器情報クラス1100」と表す。)内のメソッドを呼び出すことで、機器情報を設定することができる。 Further, when the device information acquisition unit 121 acquires the device information from the device 20, the device information acquisition unit 121 generates the device information instance 200 that holds the acquired device information. Then, the device information acquisition unit 121 sets the acquired device information in the device information instance 200 . The device information acquisition unit 121 can set device information by calling a method in a class that implements the device information instance 200 (this class is hereinafter referred to as “device information class 1100”).

印刷処理部122は、印刷実行要求部116からの要求に応じて、印刷データを生成した上で、印刷要求を機器20に送信する。このとき、印刷処理部122は、例えばWi-Fi等の無線LANを用いて、印刷要求を機器20に送信する。 The print processing unit 122 generates print data according to the request from the print execution request unit 116 and then transmits the print request to the device 20 . At this time, the print processing unit 122 transmits a print request to the device 20 using a wireless LAN such as Wi-Fi.

印刷処理部122には、印刷データ生成部123と、印刷要求部124とが含まれる。印刷データ生成部123は、印刷データを生成する。印刷データとは、印刷対象データを機器20が解釈可能なデータ形式(すなわち、機器20がサポートしているPDL)に変換したデータである。印刷要求部124は、印刷データ生成部123により生成された印刷データが含まれる印刷要求を機器20に送信する。 The print processing unit 122 includes a print data generation unit 123 and a print request unit 124 . The print data generator 123 generates print data. The print data is data obtained by converting data to be printed into a data format interpretable by the device 20 (that is, PDL supported by the device 20). The print request unit 124 transmits a print request including the print data generated by the print data generation unit 123 to the device 20 .

ここで、機器情報インスタンス200について、図6を参照しながら説明する。図6は、機器情報インスタンス200の一例を示す図である。 Here, the device information instance 200 will be described with reference to FIG. FIG. 6 is a diagram showing an example of the device information instance 200. As shown in FIG.

図6に示すように、機器情報インスタンス200は、フィールド名「IPアドレス」の機器情報と、フィールド名「モデル名」の機器情報と、フィールド名「サポートPDL」の機器情報と、フィールド名「ネットワーク情報」の機器情報とを保持する。 As shown in FIG. 6, the device information instance 200 includes device information with the field name “IP address”, device information with the field name “model name”, device information with the field name “support PDL”, and device information with the field name “network information” and device information.

フィールド名「IPアドレス」の機器情報は、フィールド値として、機器20のIPアドレスが設定される。また、フィールド名「IPアドレス」の機器情報の読取範囲は「全域」であり、書換範囲は「ライブラリ内」である。これは、フィールド名「IPアドレス」の機器情報は、印刷ライブラリ120以外のプログラム(ベンダ開発プログラム110)からも読み取り可能であるが、書き替え(フィールド値の更新)は不可であることを示している。 The IP address of the device 20 is set as the field value for the device information with the field name “IP address”. Further, the reading range of the device information with the field name "IP address" is "whole area", and the rewriting range is "within the library". This indicates that the device information with the field name "IP address" can be read from a program (vendor development program 110) other than the print library 120, but cannot be rewritten (updated field value). there is

フィールド名「モデル名」の機器情報は、フィールド値として、機器20のモデル名(例えば型番等)が設定される。また、フィールド名「モデル名」の機器情報の読取範囲は「全域」であり、書換範囲は「ライブラリ内」である。これは、フィールド名「モデル名」の機器情報は、印刷ライブラリ120以外のプログラムからも読み取り可能であるが、書き替えは不可であることを示している。 For the device information with the field name “model name”, the model name (for example, model number) of the device 20 is set as the field value. Further, the reading range of the device information with the field name "model name" is "whole area", and the rewriting range is "within the library". This indicates that the device information with the field name "model name" can be read by a program other than the print library 120, but cannot be rewritten.

フィールド名「サポートPDL」の機器情報は、フィールド値として、機器20が解釈可能なデータ形式名が設定される。また、フィールド名「サポートPDL」の機器情報の読取範囲及び書換範囲は「ライブラリ内」である。これは、フィールド名「サポートPDL」の機器情報は、印刷ライブラリ120以外のプログラムからは読み取りも書き換えも不可であることを示している。 A data format name interpretable by the device 20 is set as a field value in the device information with the field name “support PDL”. Also, the read range and rewrite range of the device information with the field name "support PDL" are "within the library". This indicates that the device information with the field name “support PDL” cannot be read or rewritten by programs other than the print library 120 .

フィールド名「ネットワーク情報」の機器情報は、フィールド値として、機器20のSSID(Service Set Identifier)や暗号化方式、アクセスポイントのパスワード等が設定される。また、フィールド名「ネットワーク情報」の機器情報の読取範囲及び書換範囲は「ライブラリ内」である。これは、フィールド名「ネットワーク情報」の機器情報は、印刷ライブラリ120以外のプログラムからは読み取りも書き換えも不可であることを示している。 For the device information with the field name “network information”, the SSID (Service Set Identifier) of the device 20, the encryption method, the password of the access point, etc. are set as field values. Also, the read range and rewrite range of the device information with the field name "network information" are "within the library". This indicates that the device information with the field name “network information” cannot be read or rewritten by programs other than the print library 120 .

以上のように、機器情報インスタンス200には、当該機器情報インスタンス200が保持している機器情報の読取範囲及び書換範囲が設定されている。これにより、機器20の製造元企業は、サードベンダにより開発されたベンダ開発プログラム110が不要な機器情報を参照したり、不正に機器情報を書き換えたりすることを防止することができる。なお、機器情報インスタンス200が保持する機器情報は、上記の「IPアドレス」、「モデル名」、「サポートPDL」、及び「ネットワーク情報」に限られない。機器情報インスタンス200は、例えば、機器番号や製造年月日、製造元企業の情報等、種々の機器情報を保持しても良い。 As described above, in the device information instance 200, the read range and rewrite range of the device information held by the device information instance 200 are set. As a result, the manufacturer of the device 20 can prevent the vendor development program 110 developed by the third vendor from referencing unnecessary device information or illegally rewriting the device information. Note that the device information held by the device information instance 200 is not limited to the above "IP address", "model name", "support PDL", and "network information". The device information instance 200 may hold various types of device information such as the device number, date of manufacture, and manufacturer company information.

次に、印刷設定情報インスタンス300について、図7を参照しながら説明する。図7は、印刷設定情報インスタンス300の一例を示す図である。 Next, the print setting information instance 300 will be described with reference to FIG. FIG. 7 is a diagram showing an example of the print setting information instance 300. As shown in FIG.

図7に示すように、印刷設定情報インスタンス300は、フィールド名「部数」の印刷設定情報と、フィールド名「印刷ページ範囲」の印刷設定情報と、フィールド名「印刷カラー」の印刷設定情報とを保持する。 As shown in FIG. 7, the print setting information instance 300 includes print setting information with the field name "number of copies", print setting information with the field name "print page range", and print setting information with the field name "print color". Hold.

フィールド名「部数」の印刷設定情報は、フィールド値として、ユーザにより指定された印刷部数(又はデフォルトの印刷部数)が設定される。また、フィールド名「部数」の印刷設定情報の読取範囲及び書換範囲は「全域」である。これは、フィールド名「部数」の印刷設定情報は、印刷ライブラリ120以外のプログラムから読み取りも書き換えも可能であることを示している。 The number of print copies specified by the user (or the default number of print copies) is set as the field value in the print setting information with the field name “number of copies”. Also, the read range and rewrite range of the print setting information with the field name "number of copies" are "whole area". This indicates that the print setting information with the field name “number of copies” can be read and rewritten by programs other than the print library 120 .

フィールド名「印刷ページ範囲」の印刷設定情報は、フィールド値として、ユーザにより指定された印刷ページ範囲(又はデフォルトの印刷ページ範囲)が設定される。また、フィールド名「印刷ページ範囲」の印刷設定情報の読取範囲及び書換範囲は「全域」である。これは、フィールド名「印刷ページ範囲」の印刷設定情報は、印刷ライブラリ120以外のプログラムから読み取りも書き換えも可能であることを示している。 A print page range specified by the user (or a default print page range) is set as a field value in the print setting information with the field name “print page range”. Also, the read range and rewrite range of the print setting information with the field name "print page range" are "whole area". This indicates that the print setting information with the field name “print page range” can be read and rewritten by programs other than the print library 120 .

フィールド名「印刷カラー」の印刷設定情報は、フィールド値として、ユーザにより指定された印刷カラー(又はデフォルトの印刷カラー)が設定される。また、フィールド名「印刷カラー」の印刷設定情報の読取範囲及び書換範囲は「全域」である。これは、フィールド名「印刷カラー」の印刷設定情報は、印刷ライブラリ120以外のプログラムから読み取りも書き換えも可能であることを示している。 The print setting information with the field name “print color” has the print color specified by the user (or the default print color) set as the field value. Also, the read range and rewrite range of the print setting information with the field name "print color" are "whole area". This indicates that the print setting information with the field name “print color” can be read and rewritten by programs other than the print library 120 .

以上のように、印刷設定情報インスタンス300には、当該印刷設定情報インスタンス300が保持している印刷設定情報の読取範囲及び書換範囲が設定されている。これにより、機器20の製造元企業は、サードベンダにより開発されたベンダ開発プログラム110が不要な印刷設定情報を参照したり、例えばデフォルト値のみが適用される印刷設定情報が書き換えられたりすることを防止することができる。なお、印刷設定情報インスタンス300が保持する印刷設定情報は、上記の「部数」、「印刷ページ範囲」、及び「印刷カラー」に限られない。印刷設定情報インスタンス300は、例えば、地紋印刷の有無、集約の有無、両面印刷の有無等、種々の印刷設定情報を保持しても良い。 As described above, in the print setting information instance 300, the read range and rewrite range of the print setting information held by the print setting information instance 300 are set. This prevents the vendor development program 110 developed by a third vendor from referring to unnecessary print setting information or from rewriting print setting information to which only default values are applied, for example. can do. Note that the print setting information held by the print setting information instance 300 is not limited to the above-described "number of copies", "print page range", and "print color". The print setting information instance 300 may hold various print setting information such as presence/absence of tint block printing, presence/absence of aggregation, and presence/absence of double-sided printing.

ここで、上記の機器情報インスタンス200及び印刷設定情報インスタンス300の読取範囲及び書換範囲は、Java言語のパッケージを用いて実現することができる。例えば、図8に示すように、ベンダ開発プログラム110に定義された各クラスが属するパッケージと、印刷ライブラリ120に定義された各クラスが属するパッケージとを異なるパッケージとする。 Here, the reading range and rewriting range of the device information instance 200 and the print setting information instance 300 can be realized using a Java language package. For example, as shown in FIG. 8, the package to which each class defined in the vendor development program 110 belongs and the package to which each class defined in the print library 120 belongs are different packages.

これにより、機器情報インスタンス200が保持するフィールド(すなわち、機器情報)を操作するメソッドに対してアクセスレベルを定義することで、このフィールドの読取範囲及び書換範囲を制限することができる。同様に、印刷設定情報インスタンス300が保持するフィールド(すなわち、印刷設定情報)を操作するメソッドに対してアクセスレベルを定義することで、このフィールドの読取範囲及び書換範囲を制限することができる。以降では、印刷ライブラリ120に定義された各クラスが属するパッケージのパッケージ名を「printlibrary」とする。 As a result, by defining an access level for a method that operates a field (that is, device information) held by the device information instance 200, it is possible to limit the read range and rewrite range of this field. Similarly, by defining an access level for a method that operates a field (that is, print setting information) held by the print setting information instance 300, it is possible to limit the read range and rewrite range of this field. Hereinafter, the package name of the package to which each class defined in the print library 120 belongs is assumed to be "printlibrary".

なお、図8に示す例では、ベンダ開発プログラム110に定義された各クラスが同一のパッケージに属する場合を示しているが、これに限られず、例えば、これらの各クラスが異なるパッケージに属していても良い。 Although the example shown in FIG. 8 shows the case where each class defined in the vendor development program 110 belongs to the same package, the present invention is not limited to this. Also good.

ここで、機器情報インスタンス200を実現する機器情報クラス1100について、図9を参照しながら説明する。図9は、機器情報クラス1100の一例を示す図である。機器情報インスタンス200は、例えば図9に示す機器情報クラス1100をインスタンス化することで生成される。 Here, the device information class 1100 that implements the device information instance 200 will be described with reference to FIG. FIG. 9 is a diagram showing an example of the device information class 1100. As shown in FIG. The device information instance 200 is generated by instantiating the device information class 1100 shown in FIG. 9, for example.

図9に示すように、機器情報クラス1100には、パッケージ宣言1101と、クラス宣言1102とが含まれる。パッケージ宣言1101には、パッケージ名「printlibrary」が定義されている。クラス宣言1102には、各機器情報に対するメソッド宣言1103~1110が含まれる。 As shown in FIG. 9, device information class 1100 includes package declaration 1101 and class declaration 1102 . The package declaration 1101 defines a package name “printlibrary”. Class declaration 1102 includes method declarations 1103 to 1110 for each device information.

メソッド宣言1103には、フィールド名「IPアドレス」の機器情報を取得(読み取る)ためのメソッド「getIPAddress」が定義されている。また、メソッド宣言1103には、このメソッド「getIPAddress」のアクセスレベルを示す修飾子(以降では、「アクセス修飾子」と表す。)「public」が定義されている。このため、メソッド「getIPAddress」は、同一パッケージ以外のパッケージに属するクラス(すなわち、印刷ライブラリ120以外のプログラムに定義されたクラス)からも呼び出すことができる。これにより、フィールド名「IPアドレス」の機器情報の読取範囲「全域」が実現され、当該機器情報をベンダ開発プログラム110からも読み取ることができるようになる。 A method declaration 1103 defines a method “getIPAddress” for acquiring (reading) the device information with the field name “IP address”. The method declaration 1103 defines a modifier (hereinafter referred to as an "access modifier") "public" indicating the access level of the method "getIPAddress". Therefore, the method "getIPAddress" can also be called from a class belonging to a package other than the same package (that is, a class defined in a program other than the print library 120). As a result, the reading range “whole area” of the device information with the field name “IP address” is realized, and the device information can be read from the vendor development program 110 as well.

メソッド宣言1104には、フィールド名「IPアドレス」の機器情報を更新(書き換える)ためのメソッド「setIPAddress」が定義されている。また、メソッド宣言1104では、このメソッド「setIPAddress」のアクセス修飾子が定義されていない。このため、メソッド「setIPAddress」は、同一パッケージ内のクラス(すなわち、印刷ライブラリ120に定義されたクラス)からのみ呼び出すことができる。これにより、フィールド名「IPアドレス」の機器情報の書換範囲「ライブラリ内」が実現され、当該機器情報を印刷ライブラリ120以外のプログラムからは書き換えすることができないようになる。なお、アクセス修飾子がメソッドに対して定義されていない場合、このメソッドのアクセスレベルは、同一パッケージ内からのみ呼び出し可能となる。すなわち、この場合、同一パッケージでないベンダ開発プログラム110からは、当該メソッドを呼び出すことができない。 A method declaration 1104 defines a method “setIPAddress” for updating (rewriting) the device information with the field name “IP address”. Also, in the method declaration 1104, no access modifier is defined for this method "setIPAddress". Therefore, the method "setIPAddress" can only be called from classes within the same package (that is, classes defined in the print library 120). As a result, the rewrite range of the device information with the field name “IP address” is realized, and the device information cannot be rewritten from a program other than the print library 120 . Note that if no access modifier is defined for a method, the access level of this method can only be called from within the same package. That is, in this case, the method cannot be called from vendor development programs 110 that are not in the same package.

メソッド宣言1105には、フィールド名「モデル名」の機器情報を読み取るためのメソッド「getModelName」が定義されている。また、メソッド宣言1105には、このメソッド「getModelName」のアクセス修飾子「public」が定義されている。これにより、メソッド「getIPAddress」と同様に、フィールド名「モデル名」の機器情報の読取範囲「全域」が実現される。 A method declaration 1105 defines a method “getModelName” for reading device information with a field name “model name”. Also, in the method declaration 1105, the access modifier "public" of this method "getModelName" is defined. As a result, similar to the method "getIPAddress", the reading range "whole area" of the device information with the field name "model name" is realized.

メソッド宣言1106には、フィールド名「モデル名」の機器情報を書き換えるためのメソッド「setModelName」が定義されている。また、メソッド宣言1106では、このメソッド「setModelName」のアクセス修飾子が定義されていない。これにより、メソッド「setIPAddress」と同様に、フィールド名「モデル名」の機器情報の書換範囲「ライブラリ内」が実現される。 A method declaration 1106 defines a method “setModelName” for rewriting the device information with the field name “model name”. Also, in the method declaration 1106, no access modifier is defined for this method "setModelName". As a result, similar to the method "setIPAddress", the rewriting range "within the library" of the device information with the field name "model name" is realized.

メソッド宣言1107には、フィールド名「サポートPDL」の機器情報を読み取るためのメソッド「getSupportPDL」が定義されている。また、メソッド宣言1107では、このメソッド「getSupportPDL」のアクセス修飾子が定義されていない。これにより、上記と同様に、フィールド名「サポートPDL」の機器情報の読取範囲「ライブラリ内」が実現される。 A method declaration 1107 defines a method “getSupportPDL” for reading the device information with the field name “support PDL”. Also, in the method declaration 1107, no access modifier is defined for this method "getSupportPDL". As a result, similarly to the above, the reading range of the device information with the field name "support PDL" is realized as "within the library".

メソッド宣言1108には、フィールド名「サポートPDL」の機器情報を書き換えるためのメソッド「setSupportPDL」が定義されている。また、メソッド宣言1108では、このメソッド「setSupportPDL」のアクセス修飾子が定義されていない。これにより、上記と同様に、フィールド名「サポートPDL」の機器情報の書換範囲「ライブラリ内」が実現される。 A method declaration 1108 defines a method “setSupportPDL” for rewriting the device information with the field name “support PDL”. Also, in the method declaration 1108, no access modifier is defined for this method "setSupportPDL". As a result, similarly to the above, the rewriting range of the device information with the field name "support PDL" is realized as "within the library".

メソッド宣言1109には、フィールド名「ネットワーク情報」の機器情報を読み取るためのメソッド「getNetworkInfo」が定義されている。また、メソッド宣言1109では、このメソッド「getNetworkInfo」のアクセス修飾子が定義されていない。これにより、上記と同様に、フィールド名「ネットワーク情報」の機器情報の読取範囲「ライブラリ内」が実現される。 A method declaration 1109 defines a method “getNetworkInfo” for reading the device information with the field name “network information”. Also, in the method declaration 1109, no access modifier is defined for this method "getNetworkInfo". As a result, similarly to the above, the reading range "within the library" of the device information with the field name "network information" is realized.

メソッド宣言1110には、フィールド名「ネットワーク情報」の機器情報を書き換えるためのメソッド「setNetworkInfo」が定義されている。また、メソッド宣言1108では、このメソッド「setNetworkInfo」のアクセス修飾子が定義されていない。これにより、上記と同様に、フィールド名「ネットワーク情報」の機器情報の書換範囲「ライブラリ内」が実現される。 A method declaration 1110 defines a method “setNetworkInfo” for rewriting the device information with the field name “network information”. Also, in the method declaration 1108, no access modifier is defined for this method "setNetworkInfo". As a result, similarly to the above, the rewriting range of the device information with the field name "network information" is realized as "within the library".

以上のように、機器情報クラス1100では、機器情報を操作(読み取り又は書き換え)するためのメソッドに対して、アクセス修飾子「public」を定義することで、他のパッケージに属するクラスからも機器情報に対する操作を行うことができるようになる。一方で、機器情報クラス1100では、機器情報を操作するためのメソッドに対して、アクセス修飾子を定義しないことで、他のパッケージに属するクラスからは機器情報に対する操作を行えないようにすることができる。 As described above, in the device information class 1100, by defining the access modifier "public" for methods for manipulating (reading or rewriting) device information, classes belonging to other packages can access device information. You will be able to perform operations on On the other hand, in the device information class 1100, by not defining access modifiers for methods for operating device information, classes belonging to other packages cannot operate device information. can.

なお、機器情報インスタンス200に対する機器情報の設定は、例えば、この機器情報インスタンス200の生成時に行っても良い。この場合、初期設定用のパラメータを引数として受け取って、機器情報の初期化を行うメソッド(コンストラクタ)がベンダ開発プログラム110のプログラムコード内に定義されている必要がある。コンストラクタは、引数として、IPアドレス、モデル名、サポートPDL、及びネットワーク情報を受け取って、メソッド宣言1103、1105、1107、1109に定義された各メソッドでIPアドレス、モデル名、サポートPDL、及びネットワーク情報をそれぞれ取得可能なように定義されていれば良い。また、機器情報インスタンス200の生成後は機器情報が変更されない場合、メソッド宣言1104、1106、1108、1110は不要であるため、この場合、これらのメソッド宣言は機器情報クラス1100に定義されていなくても良い。 Note that the device information for the device information instance 200 may be set, for example, when the device information instance 200 is generated. In this case, the vendor development program 110 must define a method (constructor) that receives parameters for initialization as arguments and initializes the device information. The constructor receives the IP address, model name, support PDL, and network information as arguments, and uses the methods defined in method declarations 1103, 1105, 1107, and 1109 to generate the IP address, model name, support PDL, and network information. should be defined so that each can be obtained. Also, if the device information is not changed after the device information instance 200 is generated, the method declarations 1104, 1106, 1108, and 1110 are unnecessary. Also good.

次に、印刷設定情報インスタンス300を実現する印刷設定情報クラス1200について、図10を参照しながら説明する。図10は、印刷設定情報クラス1200の一例を示す図である。印刷設定情報インスタンス300は、例えば図10に示す印刷設定情報クラス1200をインスタンス化することで生成される。 Next, the print setting information class 1200 that implements the print setting information instance 300 will be described with reference to FIG. FIG. 10 is a diagram showing an example of the print setting information class 1200. As shown in FIG. The print setting information instance 300 is generated by instantiating the print setting information class 1200 shown in FIG. 10, for example.

図10に示すように、印刷設定情報クラス1200には、パッケージ宣言1201と、クラス宣言1202とが含まれる。パッケージ宣言1201には、パッケージ名「printlibrary」が定義されている。クラス宣言1202には、各印刷設定情報に対するメソッド宣言1203~1208が含まれる。 As shown in FIG. 10, print setting information class 1200 includes package declaration 1201 and class declaration 1202 . A package name “printlibrary” is defined in the package declaration 1201 . Class declaration 1202 includes method declarations 1203 to 1208 for each print setting information.

メソッド宣言1203には、フィールド名「部数」の印刷設定情報を読み取るためのメソッド「getCopies」が定義されている。また、メソッド宣言1203には、このメソッド「getCopies」のアクセス修飾子「public」が定義されている。これにより、機器情報クラス1100で説明したのと同様に、フィールド名「部数」の印刷設定情報の読取範囲「全域」が実現される。 A method declaration 1203 defines a method “getCopies” for reading the print setting information with the field name “number of copies”. Also, in the method declaration 1203, the access modifier "public" of this method "getCopies" is defined. As a result, as described in the device information class 1100, the reading range "whole area" of the print setting information with the field name "number of copies" is realized.

メソッド宣言1204には、フィールド名「部数」の印刷設定情報を書き換えるためのメソッド「setCopies」が定義されている。また、メソッド宣言1204には、このメソッド「setCopies」のアクセス修飾子「public」が定義されている。これにより、機器情報クラス1100で説明したのと同様に、フィールド名「部数」の印刷設定情報の書換範囲「全域」が実現される。 A method declaration 1204 defines a method “setCopies” for rewriting the print setting information with the field name “number of copies”. Also, in the method declaration 1204, the access modifier "public" of this method "setCopies" is defined. As a result, in the same manner as described for the device information class 1100, the rewrite range "whole area" of the print setting information with the field name "number of copies" is realized.

メソッド宣言1205には、フィールド名「印刷ページ範囲」の印刷設定情報を読み取るためのメソッド「getPrintPage」が定義されている。また、メソッド宣言1205には、このメソッド「getPrintPage」のアクセス修飾子「public」が定義されている。これにより、上記と同様に、フィールド名「印刷ページ範囲」の印刷設定情報の読取範囲「全域」が実現される。 A method declaration 1205 defines a method “getPrintPage” for reading print setting information with a field name “print page range”. Also, in the method declaration 1205, the access modifier "public" of this method "getPrintPage" is defined. As a result, similarly to the above, the read range "whole area" of the print setting information with the field name "print page range" is realized.

メソッド宣言1206には、フィールド名「印刷ページ範囲」の印刷設定情報を書き換えるためのメソッド「setPrintPage」が定義されている。また、メソッド宣言1206には、このメソッド「setPrintPage」のアクセス修飾子「public」が定義されている。これにより、上記と同様に、フィールド名「印刷ページ範囲」の印刷設定情報の書換範囲「全域」が実現される。 A method declaration 1206 defines a method “setPrintPage” for rewriting print setting information with a field name “print page range”. Also, in the method declaration 1206, the access modifier "public" of this method "setPrintPage" is defined. As a result, in the same manner as described above, the rewrite range "whole area" of the print setting information with the field name "print page range" is realized.

メソッド宣言1207には、フィールド名「印刷カラー」の印刷設定情報を読み取るためのメソッド「getColor」が定義されている。また、メソッド宣言1207には、このメソッド「getColor」のアクセス修飾子「public」が定義されている。これにより、上記と同様に、フィールド名「印刷カラー」の印刷設定情報の読取範囲「全域」が実現される。 A method declaration 1207 defines a method “getColor” for reading print setting information with a field name “print color”. Also, in the method declaration 1207, the access modifier "public" of this method "getColor" is defined. As a result, similarly to the above, the read range "whole area" of the print setting information with the field name "print color" is realized.

メソッド宣言1208には、フィールド名「印刷カラー」の印刷設定情報を書き換えるためのメソッド「setColor」が定義されている。また、メソッド宣言1208には、このメソッド「setColor」のアクセス修飾子「public」が定義されている。これにより、上記と同様に、フィールド名「印刷カラー」の印刷設定情報の書換範囲「全域」が実現される。 A method declaration 1208 defines a method “setColor” for rewriting print setting information with a field name “print color”. Also, in the method declaration 1208, the access modifier "public" of this method "setColor" is defined. As a result, in the same manner as described above, the rewrite range "whole area" of the print setting information with the field name "print color" is realized.

以上のように、印刷設定情報クラス1200では、印刷設定情報を操作(読み取り又は書き換え)するためのメソッドに対して、アクセス修飾子「public」を定義することで、他のパッケージに属するクラスからも印刷設定情報に対する操作を行うことができるようになる。一方で、印刷設定情報クラス1200では、印刷設定情報を操作するためのメソッドに対して、アクセス修飾子を定義しないことで、他のパッケージに属するクラスからは印刷設定情報に対する操作を行えないようにすることができる。 As described above, in the print setting information class 1200, by defining the access modifier "public" for methods for manipulating (reading or rewriting) print setting information, classes belonging to other packages can It becomes possible to operate the print setting information. On the other hand, the print setting information class 1200 does not define access modifiers for methods for manipulating print setting information, so that classes belonging to other packages cannot manipulate print setting information. can do.

次に、機器情報取得部121を実現する機器情報取得クラス1300について、図11を参照しながら説明する。図11は、機器情報取得クラス1300の一例を示す図である。機器情報取得部121は、例えば図11に示す機器情報取得クラス1300をインスタンス化することで生成される。 Next, a device information acquisition class 1300 that implements the device information acquisition unit 121 will be described with reference to FIG. FIG. 11 is a diagram showing an example of the device information acquisition class 1300. As shown in FIG. The device information acquisition unit 121 is generated by instantiating the device information acquisition class 1300 shown in FIG. 11, for example.

図11に示すように、機器情報取得クラス1300には、パッケージ宣言1301と、クラス宣言1302とが含まれる。パッケージ宣言1301には、パッケージ名「printlibrary」が定義されている。クラス宣言1302には、メソッド宣言1303が含まれる。 As shown in FIG. 11, device information acquisition class 1300 includes package declaration 1301 and class declaration 1302 . The package declaration 1301 defines a package name “printlibrary”. Class declaration 1302 includes method declaration 1303 .

メソッド宣言1303には、機器20から機器情報を取得するためのメソッド「getMfpInfo」が定義されている。また、メソッド宣言1303には、このメソッド「getMfpInfo」のアクセス修飾子「public」が定義されている。これにより、メソッド「getMfpInfo」は、同一パッケージ以外のパッケージに属するクラス(すなわち、印刷ライブラリ120以外のプログラムに定義されたクラス)からも呼び出すことができる。 A method declaration 1303 defines a method “getMfpInfo” for acquiring device information from the device 20 . Also, in the method declaration 1303, the access modifier "public" of this method "getMfpInfo" is defined. This allows the method "getMfpInfo" to be called from a class belonging to a package other than the same package (that is, a class defined in a program other than the print library 120).

次に、印刷処理部122を実現する印刷処理クラス1400について、図12を参照しながら説明する。図12は、印刷処理クラス1400の一例を示す図である。印刷処理部122は、例えば図12に示す印刷処理クラス1400をインスタンス化することで生成される。 Next, a print processing class 1400 that implements the print processing unit 122 will be described with reference to FIG. FIG. 12 is a diagram showing an example of the print processing class 1400. As shown in FIG. The print processing unit 122 is generated by instantiating the print processing class 1400 shown in FIG. 12, for example.

図12に示すように、印刷処理クラス1400には、パッケージ宣言1401と、クラス宣言1402とが含まれる。パッケージ宣言1401には、パッケージ名「printlibrary」が定義されている。クラス宣言1402には、メソッド宣言1403が含まれる。 As shown in FIG. 12, print processing class 1400 includes package declaration 1401 and class declaration 1402 . The package declaration 1401 defines a package name “printlibrary”. Class declaration 1402 includes method declaration 1403 .

メソッド宣言1403には、印刷要求を機器20に送信するためのメソッド「print」が定義されている。また、メソッド宣言1403には、このメソッド「print」のアクセス修飾子「public」が定義されている。これにより、メソッド「print」は、同一パッケージ以外のパッケージに属するクラス(すなわち、印刷ライブラリ120以外のプログラムに定義されたクラス)からも呼び出すことができる。 A method declaration 1403 defines a method “print” for transmitting a print request to the device 20 . Also, in the method declaration 1403, the access modifier "public" of this method "print" is defined. This allows the method "print" to be called from a class belonging to a package other than the same package (that is, a class defined in a program other than the print library 120).

なお、メソッド宣言1403には、メソッド「print」の引数として、「MfpInfo info」と、「PrintData data」と、「PrintSetting setting」とが定義されている。これは、メソッド「print」の引数として、機器情報と、印刷対象データと、印刷設定情報とが指定されることを示している。 The method declaration 1403 defines "MfpInfo info", "PrintData data", and "PrintSetting setting" as arguments of the method "print". This indicates that the device information, the data to be printed, and the print setting information are specified as arguments of the method "print".

次に、ベンダ開発プログラム110のプログラムコード1500について、図13を参照しながら説明する。図13は、ベンダ開発プログラム110のプログラムコード1500の一例を示す図である。なお、図13では、一例として、機器情報取得要求部111と、印刷対象データ設定部113と、印刷設定部114と、印刷実行要求部116とにそれぞれ対応するコードが定義されたプログラムコード1500について説明する。表示制御部112や実行操作受付部115等に対応するコードは別途それぞれ定義する必要がある。 Next, program code 1500 of vendor development program 110 will be described with reference to FIG. FIG. 13 is a diagram showing an example of program code 1500 of vendor development program 110 . Note that in FIG. 13, as an example, program code 1500 in which codes respectively corresponding to the device information acquisition request section 111, the print target data setting section 113, the print setting section 114, and the print execution request section 116 are defined. explain. Codes corresponding to the display control unit 112, the execution operation receiving unit 115, etc. need to be defined separately.

図13に示すように、プログラムコード1500には、パッケージ宣言1501と、クラス宣言1502とが含まれる。パッケージ宣言1501には、パッケージ名「printapp」が定義されている。このため、ベンダ開発プログラム110は、パッケージ名「printlibrary」に属する各クラスに定義されたメソッドのうち、アクセス修飾子「public」が定義されていないメソッドを呼び出すことができない。 As shown in FIG. 13, program code 1500 includes package declaration 1501 and class declaration 1502 . A package declaration 1501 defines a package name “printapp”. Therefore, the vendor development program 110 cannot call a method for which the access modifier "public" is not defined among the methods defined in each class belonging to the package name "printlibrary".

クラス宣言1502には、印刷実行クラス1503が含まれる。そして、印刷実行クラス1503には、機器情報取得要求部111に対応するコードが定義されたコード定義1504と、印刷設定部114に対応するコードが定義されたコード定義1505とが含まれる。また、印刷実行クラス1503には、印刷対象データ設定部113に対応するコードが定義されたコード定義1506と、印刷実行要求部116に対応するコードが定義されたコード定義1507とが含まれる。 Class declaration 1502 includes print execution class 1503 . The print execution class 1503 includes a code definition 1504 defining a code corresponding to the device information acquisition request section 111 and a code definition 1505 defining a code corresponding to the print setting section 114 . The print execution class 1503 also includes a code definition 1506 defining code corresponding to the print target data setting unit 113 and a code definition 1507 defining code corresponding to the print execution request unit 116 .

コード定義1507に示すように、ベンダ開発プログラム110は、パッケージ名「printlibrary」に属する印刷処理クラス1400のメソッド「print」を呼び出す際に、機器情報インスタンス200を示す「info」を引数に指定する。これにより、メソッド「print」における処理で、機器情報インスタンス200のアクセス修飾子「public」が定義されていないメソッドを呼び出した上で、機器20に対して、処理要求(印刷要求)を行うことができる。例えば、メソッド「print」における処理で、機器情報インスタンス200を示す「info」のメソッド「getSupportPDL」を呼び出してフィールド名「サポートPDL」の機器情報を取得した上で、この機器情報を指定した印刷要求を機器20に行うことができる。 As shown in the code definition 1507, the vendor development program 110 designates "info" indicating the device information instance 200 as an argument when calling the method "print" of the print processing class 1400 belonging to the package name "printlibrary". As a result, in the processing of the method "print", a method for which the access modifier "public" of the device information instance 200 is not defined can be called, and then a processing request (print request) can be issued to the device 20. can. For example, in the process of the method "print", the method "getSupportPDL" of "info" indicating the device information instance 200 is called to obtain the device information with the field name "support PDL", and then a print request specifying this device information is generated. can be performed on device 20 .

このため、印刷アプリケーション100は、機器20に対して、ベンダ開発プログラム110が操作することができない情報(例えば、フィールド名「サポートPDL」の機器情報やフィールド名「ネットワーク情報」の機器情報)を使用した処理要求(印刷要求)を行うことが可能となる。 For this reason, the printing application 100 uses information that cannot be operated by the vendor development program 110 for the device 20 (for example, device information with the field name “support PDL” or device information with the field name “network information”). It becomes possible to make a processing request (printing request).

<印刷処理>
次に、本実施形態に係る印刷システム1の印刷処理について説明する。以降では、端末装置10のユーザが、印刷アプリケーション100を用いて、機器20で印刷を行う場合の処理について、図14を参照しながら説明する。図14は、第一の実施形態に係る印刷処理の一例を示すシーケンス図である。
<Print processing>
Next, printing processing of the printing system 1 according to this embodiment will be described. Hereinafter, the processing when the user of the terminal device 10 uses the print application 100 to print on the device 20 will be described with reference to FIG. 14 . FIG. 14 is a sequence diagram showing an example of print processing according to the first embodiment.

以降の図14では、機器情報クラス1100及び印刷設定情報クラス1200を除いて、ベンダ開発プログラム110及び印刷ライブラリ120に定義されている各クラスはインスタンス化されているものとして説明する。なお、ベンダ開発プログラム110及び印刷ライブラリ120に定義されている各クラスで、インスタンス化されていないクラスがあっても良い。この場合、当該クラスにより実現される機能部(インスタンス)の処理を実行する前に、適宜、インスタンス化されれば良い。また、機器情報クラス1100及び印刷設定情報クラス1200も予めインスタンス化されていても良い。 14 below, except for the device information class 1100 and the print setting information class 1200, each class defined in the vendor development program 110 and print library 120 is instantiated. Note that each class defined in the vendor development program 110 and the print library 120 may include classes that have not been instantiated. In this case, it may be appropriately instantiated before executing the processing of the functional unit (instance) realized by the class. Also, the device information class 1100 and the print setting information class 1200 may be instantiated in advance.

まず、ベンダ開発プログラム110の機器情報取得要求部111は、ユーザによる機器情報の取得操作を受け付ける(ステップS101)。ユーザは、例えば、表示制御部112により表示された所定の画面において、近くに設置されている機器20の一覧の中から所望の機器20を選択する操作を行うことで、機器情報の取得操作を行うことができる。又は、例えば、機器20の筐体に貼り付け等されているQRコード(登録商標)を端末装置10のカメラで撮像することで、機器情報の取得操作を行っても良い。 First, the device information acquisition request unit 111 of the vendor development program 110 accepts a user's device information acquisition operation (step S101). For example, on a predetermined screen displayed by the display control unit 112, the user selects a desired device 20 from a list of devices 20 installed nearby, thereby performing a device information acquisition operation. It can be carried out. Alternatively, for example, a QR code (registered trademark) attached to the housing of the device 20 may be imaged by the camera of the terminal device 10 to perform the device information acquisition operation.

ベンダ開発プログラム110の機器情報取得要求部111は、ユーザによる機器情報の取得操作を受け付けると、機器情報の取得を機器情報取得部121に要求する(ステップS102)。機器情報取得要求部111は、機器情報取得クラス1300のメソッド宣言1303に定義されているメソッド「getMfpInfo」を呼び出すことで、機器情報の取得要求を行うことができる。 The device information acquisition request unit 111 of the vendor development program 110, upon receiving the device information acquisition operation by the user, requests the device information acquisition unit 121 to acquire the device information (step S102). The device information acquisition request unit 111 can make a device information acquisition request by calling the method “getMfpInfo” defined in the method declaration 1303 of the device information acquisition class 1300 .

印刷ライブラリ120の機器情報取得部121は、機器情報の取得要求を受け取ると、機器20に対して、機器情報の問い合わせを行う(ステップS103)。機器情報取得部121は、例えばBluetooth等の近距離無線通信により、機器20に対して、機器情報の問い合わせを行うことができる。なお、近距離無線通信は、Bluetoothに限られず、例えば、BLE(Bluetooth Low Energy)やZigbee等であっても良い。又は、赤外線やRFID(Radio Frequency Identification)等が用いられても良い。 Upon receiving the device information acquisition request, the device information acquisition unit 121 of the print library 120 inquires of the device 20 about the device information (step S103). The device information acquisition unit 121 can inquire of the device 20 about device information by short-range wireless communication such as Bluetooth. Note that short-range wireless communication is not limited to Bluetooth, and may be, for example, BLE (Bluetooth Low Energy), Zigbee, or the like. Alternatively, infrared rays, RFID (Radio Frequency Identification), or the like may be used.

そして、機器情報取得部121は、上記の問い合わせに応じて機器20から返信された機器情報を受信する。これにより、機器情報取得部121は、IPアドレス、モデル名、サポートPDL、ネットワーク情報等の機器情報を機器20から取得することができる。 Then, the device information acquisition unit 121 receives the device information returned from the device 20 in response to the above inquiry. As a result, the device information acquisition unit 121 can acquire device information such as the IP address, model name, supported PDL, and network information from the device 20 .

なお、上記のステップS103では、Bluetooth等の近距離無線通信により機器20から機器情報を取得する場合について説明したが、これに限られない。機器情報取得部121は、例えば、機器20の筐体に貼り付け等されているQRコードをカメラで撮像することで、このQRコードに埋め込まれている機器情報を取得しても良い。又は、機器情報取得部121は、近距離無線通信以外の無線通信(例えば、Wi-Fi等)により、機器20から機器情報を取得しても良い。例えば、端末装置10は、自身のIPアドレスを機器20に通知した上で、この通知に対する応答として、Wi-Fi等の無線通信により、機器情報を機器20から取得しても良い。 In step S103 above, the case where the device information is acquired from the device 20 by short-range wireless communication such as Bluetooth has been described, but the present invention is not limited to this. The device information acquisition unit 121 may acquire the device information embedded in the QR code, for example, by capturing an image of the QR code attached to the housing of the device 20 with a camera. Alternatively, the device information acquisition unit 121 may acquire device information from the device 20 by wireless communication (for example, Wi-Fi, etc.) other than short-range wireless communication. For example, after notifying the device 20 of its own IP address, the terminal device 10 may acquire device information from the device 20 by wireless communication such as Wi-Fi as a response to this notification.

印刷ライブラリ120の機器情報取得部121は、機器20から機器情報を取得すると、機器情報インスタンス200を生成する(ステップS104)。機器情報インスタンス200は、機器情報クラス1100をインスタンス化することで生成される。 Upon acquiring the device information from the device 20, the device information acquisition unit 121 of the print library 120 generates the device information instance 200 (step S104). A device information instance 200 is generated by instantiating a device information class 1100 .

次に、印刷ライブラリ120の機器情報取得部121は、機器20から取得した機器情報を機器情報インスタンス200に設定する(ステップS105)。 Next, the device information acquisition unit 121 of the print library 120 sets the device information acquired from the device 20 in the device information instance 200 (step S105).

すなわち、機器情報取得部121は、機器20から取得したIPアドレスを引数に指定した上で、機器情報クラス1100のメソッド宣言1104に定義されているメソッド「setIPAddress」を呼び出す。これにより、フィールド名「IPアドレス」の機器情報が機器情報インスタンス200に設定される。 That is, the device information acquisition unit 121 designates the IP address acquired from the device 20 as an argument and calls the method “setIPAddress” defined in the method declaration 1104 of the device information class 1100 . As a result, the device information with the field name “IP address” is set in the device information instance 200 .

同様に、機器情報取得部121は、機器20から取得したモデル名を引数に指定した上で、機器情報クラス1100のメソッド宣言1106に定義されているメソッド「setModelName」を呼び出す。これにより、フィールド名「モデル名」の機器情報が機器情報インスタンス200に設定される。 Similarly, the device information acquisition unit 121 calls the method “setModelName” defined in the method declaration 1106 of the device information class 1100 after designating the model name acquired from the device 20 as an argument. As a result, the device information with the field name “model name” is set in the device information instance 200 .

同様に、機器情報取得部121は、機器20から取得したサポートPDLを引数に指定した上で、機器情報クラス1100のメソッド宣言1108に定義されているメソッド「setSupportPDL」を呼び出す。これにより、フィールド名「サポートPDL」の機器情報が機器情報インスタンス200に設定される。 Similarly, the device information acquisition unit 121 designates the support PDL acquired from the device 20 as an argument and calls the method “setSupportPDL” defined in the method declaration 1108 of the device information class 1100 . As a result, the device information with the field name “support PDL” is set in the device information instance 200 .

同様に、機器情報取得部121は、機器20から取得したネットワーク情報を引数に指定した上で、機器情報クラス1100のメソッド宣言1110に定義されているメソッド「setNetworkInfo」を呼び出す。これにより、フィールド名「ネットワーク情報」の機器情報が機器情報インスタンス200に設定される。 Similarly, the device information acquisition unit 121 calls the method “setNetworkInfo” defined in the method declaration 1110 of the device information class 1100 after specifying the network information acquired from the device 20 as an argument. As a result, the device information with the field name “network information” is set in the device information instance 200 .

そして、機器情報取得部121は、機器20から取得した各機器情報が設定された機器情報インスタンス200をベンダ開発プログラム110に返信する。 Then, the device information acquisition unit 121 returns to the vendor development program 110 the device information instance 200 in which each device information acquired from the device 20 is set.

ベンダ開発プログラム110の表示制御部112は、機器情報取得部121から返信された機器情報インスタンス200から機器情報を取得する。そして、表示制御部112は、機器情報インスタンス200から取得した機器情報を表示装置12上に表示する(ステップS106)。 The display control unit 112 of the vendor development program 110 acquires device information from the device information instance 200 returned from the device information acquisition unit 121 . Then, the display control unit 112 displays the device information acquired from the device information instance 200 on the display device 12 (step S106).

このとき、表示制御部112は、機器情報インスタンス200に保持されている機器情報のうち、読取範囲が「全域」となっている機器情報を取得することができる。すなわち、表示制御部112は、フィールド名「IPアドレス」の機器情報と、フィールド名「モデル名」の機器情報とを機器情報インスタンス200から取得することができる。表示制御部112は、機器情報クラス1100のメソッド宣言1103に定義されているメソッド「getIPAddress」を呼び出すことで、フィールド名「IPアドレス」の機器情報を機器情報インスタンス200から取得することができる。同様に、表示制御部112は、機器情報クラス1100のメソッド宣言1105に定義されているメソッド「getModelName」を呼び出すことで、フィールド名「モデル名」の機器情報を取得することができる。 At this time, the display control unit 112 can acquire the device information whose read range is “whole area” among the device information held in the device information instance 200 . That is, the display control unit 112 can acquire the device information with the field name “IP address” and the device information with the field name “model name” from the device information instance 200 . The display control unit 112 can acquire the device information with the field name “IP address” from the device information instance 200 by calling the method “getIPAddress” defined in the method declaration 1103 of the device information class 1100 . Similarly, the display control unit 112 can acquire the device information with the field name “model name” by calling the method “getModelName” defined in the method declaration 1105 of the device information class 1100 .

なお、表示制御部112は、上記で取得した機器情報を用いて、後述するステップS109で印刷設定情報の指定操作を受け付けるための画面における選択肢を制限することができる。例えば、表示制御部112は、フィールド名「モデル名」の機器情報に基づいて、モノクロ印刷のみ対応した機器20であることを判断して、印刷設定情報として「カラー」を指定できないように制限する(例えば、「カラー」を選択するための選択肢を非表示にする等)ことができる。 Note that the display control unit 112 can use the device information acquired as described above to limit options on the screen for receiving the print setting information designation operation in step S109, which will be described later. For example, the display control unit 112 determines that the device 20 supports only monochrome printing based on the device information with the field name “model name”, and restricts so that “color” cannot be specified as the print setting information. (eg, hide the option for selecting "color").

また、表示制御部112は、例えば、複数の機器20の機器情報を取得した場合には、これらの機器情報を用いて、ユーザが出力先の機器20を選択するための機器一覧画面等を生成及び表示しても良い。機器一覧画面が表示されることで、ユーザは、複数の機器20の中から出力先の機器20(印刷実行する機器20)を選択することができるようになる。 Further, for example, when the device information of a plurality of devices 20 is acquired, the display control unit 112 uses the device information to generate a device list screen or the like for the user to select the device 20 as the output destination. and may be displayed. By displaying the device list screen, the user can select the output destination device 20 (the device 20 that executes printing) from among the plurality of devices 20 .

一方で、表示制御部112は、フィールド名「サポートPDL」の機器情報と、フィールド名「ネットワーク情報」の機器情報とを機器情報インスタンス200から取得することはできない。 On the other hand, the display control unit 112 cannot acquire the device information with the field name “support PDL” and the device information with the field name “network information” from the device information instance 200 .

したがって、表示装置12上には、表示制御部112により、機器20のIPアドレスとモデル名とが表示される。これにより、例えば、サポートPDLやネットワーク情報等、ユーザが必ずしも参照する必要のない機器情報が表示されることを防止することができる。 Therefore, the display control unit 112 displays the IP address and model name of the device 20 on the display device 12 . As a result, it is possible to prevent display of device information that the user does not necessarily need to refer to, such as support PDL and network information.

ここで、上記のステップS106で表示装置12上に表示される画面の一例として、印刷を実行する機器20の機器情報を確認するための機器確認画面G100を図15に示す。図15は、機器確認画面G100の一例を示す図である。 FIG. 15 shows a device confirmation screen G100 for confirming the device information of the device 20 that executes printing, as an example of the screen displayed on the display device 12 in step S106. FIG. 15 is a diagram showing an example of the device confirmation screen G100.

図15に示す機器確認画面G100には、機器情報表示欄G110が含まれる。機器情報表示欄G110には、機器情報インスタンス200から取得可能な機器情報(すなわち、読取範囲が「全域」である機器情報。具体的には、フィールド名「IPアドレス」の機器情報及びフィールド名「モデル名」の機器情報)が表示される。このように、表示制御部112は、機器情報インスタンス200に保持されている機器情報のうち、読取範囲が「全域」となっている機器情報を機器情報表示欄G110に表示させる。 The device confirmation screen G100 shown in FIG. 15 includes a device information display field G110. In the device information display field G110, device information that can be acquired from the device information instance 200 (that is, device information whose reading range is “whole area”). "model name" device information) is displayed. In this manner, the display control unit 112 displays, among the device information held in the device information instance 200, the device information whose read range is "whole area" in the device information display field G110.

一方で、表示制御部112は、機器情報インスタンス200から取得することができない機器情報を機器情報表示欄G110に表示することはできない。すなわち、表示制御部112は、読取範囲が「ライブラリ内」である機器情報(具体的には、フィールド名「サポートPDL」の機器情報及びフィールド名「ネットワーク情報」の機器情報)を機器情報表示欄G110に表示することはできない。 On the other hand, the display control unit 112 cannot display device information that cannot be acquired from the device information instance 200 in the device information display field G110. That is, the display control unit 112 displays the device information whose reading range is “within the library” (specifically, the device information with the field name “support PDL” and the device information with the field name “network information”) in the device information display column. It cannot be displayed on G110.

次に、ベンダ開発プログラム110の印刷対象データ設定部113は、ユーザによる印刷対象データの選択操作を受け付ける(ステップS107)。ユーザは、例えば、上記のステップS106で機器情報が表示されている画面からコンテンツデータの一覧画面に遷移させた上で、コンテンツデータの一覧画面から所望のコンテンツデータを選択することで、印刷対象データの選択操作を行うことができる。 Next, the print target data setting unit 113 of the vendor development program 110 receives an operation for selecting print target data by the user (step S107). For example, the user can select desired content data from the content data list screen after transitioning from the screen displaying the device information in step S106 to the content data list screen. selection operation can be performed.

ベンダ開発プログラム110の印刷対象データ設定部113は、ユーザによる印刷対象データの選択操作を受け付けると、選択されたコンテンツデータを印刷対象データに設定する(ステップS108)。なお、上記のステップS101の処理が実行される前に、印刷対象データが予め設定されている場合等には、上記のステップS107及びステップS108の処理は実行されなくても良い。 The print target data setting unit 113 of the vendor development program 110 receives the print target data selection operation by the user, and sets the selected content data as the print target data (step S108). It should be noted that the processes of steps S107 and S108 do not have to be executed when the data to be printed is set in advance before the process of step S101 is executed.

次に、ベンダ開発プログラム110の印刷設定部114は、ユーザによる印刷設定情報の指定操作を受け付ける(ステップS109)。ユーザは、例えば、印刷対象データを選択した後に表示される所定の画面において、各印刷設定情報の設定値を指定することで、印刷設定情報の指定操作を行うことができる。なお、ユーザが印刷設定情報を変更しない場合(すなわち、印刷設定情報の設定値としてデフォルト値を用いる場合)、本ステップの処理は実行されなくても良い。 Next, the print setting unit 114 of the vendor development program 110 accepts an operation of specifying print setting information by the user (step S109). For example, the user can specify the print setting information by specifying the setting value of each print setting information on a predetermined screen displayed after selecting the data to be printed. Note that if the user does not change the print setting information (that is, if default values are used as the setting values of the print setting information), the processing of this step may not be executed.

ベンダ開発プログラム110の印刷設定部114は、印刷設定情報インスタンス300を生成する(ステップS110)。印刷設定情報インスタンス300は、印刷設定情報クラス1200をインスタンス化することで生成される。 The print setting unit 114 of the vendor development program 110 generates the print setting information instance 300 (step S110). The print setting information instance 300 is generated by instantiating the print setting information class 1200 .

次に、ベンダ開発プログラム110の印刷設定部114は、上記のステップS109でユーザにより指定された印刷設定情報を印刷設定情報インスタンス300に設定する(ステップS111)。 Next, the print setting unit 114 of the vendor development program 110 sets the print setting information specified by the user in step S109 to the print setting information instance 300 (step S111).

すなわち、印刷設定部114は、ユーザにより指定された部数を引数に指定した上で、印刷設定情報クラス1200のメソッド宣言1204に定義されているメソッド「setCopies」を呼び出す。これにより、フィールド名「部数」の印刷設定情報が印刷設定情報インスタンス300に設定される。 That is, the print setting unit 114 calls the method “setCopies” defined in the method declaration 1204 of the print setting information class 1200 after specifying the number of copies specified by the user as an argument. As a result, the print setting information with the field name “number of copies” is set in the print setting information instance 300 .

同様に、印刷設定部114は、ユーザにより指定された印刷ページ範囲を引数に指定した上で、印刷設定情報クラス1200のメソッド宣言1206に定義されているメソッド「setPrintPage」を呼び出す。これにより、フィールド名「印刷ページ範囲」の印刷設定情報が印刷設定情報インスタンス300に設定される。 Similarly, the print setting unit 114 calls the method “setPrintPage” defined in the method declaration 1206 of the print setting information class 1200 after specifying the print page range specified by the user as an argument. As a result, the print setting information with the field name “print page range” is set in the print setting information instance 300 .

同様に、印刷設定部114は、ユーザにより指定された印刷カラーを引数に指定した上で、印刷設定情報クラス1200のメソッド宣言1208に定義されているメソッド「setColor」を呼び出す。これにより、フィールド名「印刷カラー」の印刷設定情報が印刷設定情報インスタンス300に設定される。 Similarly, the print setting unit 114 calls the method “setColor” defined in the method declaration 1208 of the print setting information class 1200 after specifying the print color specified by the user as an argument. As a result, the print setting information with the field name “print color” is set in the print setting information instance 300 .

なお、上記のステップS109で一部の印刷設定情報のみがユーザにより指定された場合(例えば、部数のみが指定された場合)、印刷設定部114は、ユーザにより指定された印刷設定情報のみを印刷設定情報インスタンス300に設定しても良い。又は、印刷設定情報インスタンス300が保持している各印刷設定情報がデフォルト値に初期化されていない場合は、印刷設定部114は、ユーザにより指定されていない印刷設定情報について、この印刷設定情報のデフォルト値を印刷設定情報インスタンス300に設定しても良い。 Note that if the user specifies only part of the print setting information in step S109 (for example, if only the number of copies is specified), the print setting unit 114 prints only the print setting information specified by the user. It may be set in the setting information instance 300 . Alternatively, if each piece of print setting information held by the print setting information instance 300 is not initialized to a default value, the print setting unit 114 replaces the print setting information that is not specified by the user with this print setting information. A default value may be set in the print setting information instance 300 .

次に、ベンダ開発プログラム110の実行操作受付部115は、ユーザによる印刷実行操作を受け付ける(ステップS112)。ユーザは、例えば、印刷設定情報を指定した後に表示される所定の画面において、印刷実行ボタンを押下することで、印刷実行操作を行うことができる。 Next, the execution operation receiving unit 115 of the vendor development program 110 receives a print execution operation by the user (step S112). For example, the user can perform a print execution operation by pressing a print execution button on a predetermined screen displayed after designating print setting information.

ベンダ開発プログラム110の印刷実行要求部116は、実行操作受付部115により印刷実行操作が受け付けられると、印刷実行を印刷処理部122に要求する(ステップS113)。この印刷実行要求には、機器情報インスタンス200と、印刷対象データと、印刷設定情報インスタンス300とが含まれる。印刷実行要求部116は、機器情報インスタンス200と、印刷対象データと、印刷設定情報インスタンス300とを引数に指定した上で、印刷処理クラス1400のメソッド宣言1403に定義されているメソッド「print」を呼び出すことで、印刷実行要求を行うことができる。 When the execution operation reception unit 115 receives the print execution operation, the print execution request unit 116 of the vendor development program 110 requests the print processing unit 122 to execute printing (step S113). This print execution request includes the device information instance 200 , the data to be printed, and the print setting information instance 300 . The print execution request unit 116 designates the device information instance 200, the data to be printed, and the print setting information instance 300 as arguments, and then executes the method "print" defined in the method declaration 1403 of the print processing class 1400. By calling it, a print execution request can be issued.

メソッド「print」に対して機器情報インスタンス200が引数に指定されることで、例えば、複数の機器情報インスタンス200が存在する場合(すなわち、例えば、周囲に複数の機器20が存在し、これら複数の機器20からそれぞれ機器情報を取得した場合)、どの機器情報インスタンス200を用いるかを指定することができるようになる。このため、ベンダ開発プログラム110からは操作することができない複数の情報を管理することができるようになる。 By specifying the device information instance 200 as an argument to the method "print", for example, when a plurality of device information instances 200 exist (that is, for example, when there are a plurality of devices 20 When the device information is obtained from each device 20), it becomes possible to specify which device information instance 200 is to be used. Therefore, it becomes possible to manage a plurality of pieces of information that cannot be operated from the vendor development program 110 .

例えば、複数の機器情報インスタンス200が存在する場合、例えば、フィールド名「サポートPDL」の機器情報は機器20毎に存在する。この場合、フィールド名「サポートPDL」の機器情報は、いずれもベンダ開発プログラム110からは参照することができない。このため、ベンダ開発プログラム110は、これらの機器情報のうちの一の機器情報を直接指定することはできないものの、機器情報インスタンス200を指定することで、どの機器20のサポートPDLを用いるかを結果的に指定することができるようになる。 For example, when a plurality of device information instances 200 exist, device information with the field name “support PDL” exists for each device 20 . In this case, the vendor development program 110 cannot refer to any device information with the field name “support PDL”. For this reason, the vendor development program 110 cannot directly specify one of these pieces of device information, but by specifying the device information instance 200, the vendor development program 110 can determine which device 20's support PDL is to be used. can be specified explicitly.

印刷ライブラリ120の印刷処理部122は、印刷データ生成部123により、印刷実行要求に含まれる機器情報インスタンス200からサポートPDLを取得する(ステップS114)。すなわち、印刷データ生成部123は、機器情報インスタンス200に保持されている機器情報のうち、フィールド名「サポートPDL」の機器情報を取得する。印刷データ生成部123は、機器情報クラス1100のメソッド宣言1107に定義されているメソッド「getSupprotPDL」を呼び出すことで、フィールド名「サポートPDL」の機器情報を取得することができる。なお、印刷処理部122を実現する印刷処理クラス1400と、機器情報クラス1100とは同一のパッケージ「printlibrary」に属するため、印刷データ生成部123は、メソッド「getSupprotPDL」を呼び出すことができる。 The print processing unit 122 of the print library 120 uses the print data generation unit 123 to acquire the support PDL from the device information instance 200 included in the print execution request (step S114). That is, the print data generation unit 123 acquires the device information with the field name “support PDL” from among the device information held in the device information instance 200 . The print data generation unit 123 can acquire the device information with the field name “support PDL” by calling the method “getSupportPDL” defined in the method declaration 1107 of the device information class 1100 . Since the print processing class 1400 that implements the print processing unit 122 and the device information class 1100 belong to the same package “printlibrary”, the print data generation unit 123 can call the method “getSupportPDL”.

次に、印刷ライブラリ120の印刷処理部122は、印刷データ生成部123により、印刷実行要求に含まれる印刷設定情報インスタンス300から各印刷設定情報を取得する(ステップS115)。すなわち、印刷データ生成部123は、印刷設定情報インスタンス300に保持されている印刷設定情報を取得する。印刷データ生成部123は、印刷設定情報クラス1200のメソッド宣言1203、メソッド宣言1205、及びメソッド宣言1207にそれぞれ定義されているメソッドを呼び出すことで、各印刷設定情報を取得することができる。 Next, the print processing unit 122 of the print library 120 uses the print data generation unit 123 to acquire each piece of print setting information from the print setting information instance 300 included in the print execution request (step S115). That is, the print data generator 123 acquires print setting information held in the print setting information instance 300 . The print data generation unit 123 can acquire each piece of print setting information by calling the methods defined in the method declarations 1203 , 1205 and 1207 of the print setting information class 1200 .

次に、印刷ライブラリ120の印刷処理部122は、印刷データ生成部123により、印刷データを生成する(ステップS116)。すなわち、印刷データ生成部123は、上記のステップS114で取得されたサポートPDLと、上記のステップS115で取得された印刷設定情報とを用いて、印刷対象データから印刷データを生成する。このとき、印刷データ生成部123は、上記のステップS114で取得されたサポートPDLが示すデータ形式の印刷データを生成する。 Next, the print processing unit 122 of the print library 120 uses the print data generation unit 123 to generate print data (step S116). That is, the print data generation unit 123 generates print data from the print target data using the support PDL acquired in step S114 and the print setting information acquired in step S115. At this time, the print data generation unit 123 generates print data in the data format indicated by the support PDL acquired in step S114.

次に、印刷ライブラリ120の印刷処理部122は、印刷要求部124により、印刷実行要求に含まれる機器情報インスタンス200からネットワーク情報を取得する(ステップS117)。すなわち、印刷要求部124は、機器情報インスタンス200に保持されている機器情報のうち、フィールド名「ネットワーク情報」の機器情報を取得する。印刷要求部124は、機器情報クラス1100のメソッド宣言1109に定義されているメソッド「getNetworkInfo」を呼び出すことで、フィールド名「ネットワーク情報」の機器情報を取得することができる。なお、印刷処理部122を実現する印刷処理クラス1400と、機器情報クラス1100とは同一のパッケージ「printlibrary」に属するため、印刷要求部124は、メソッド「getNetworkInfo」を呼び出すことができる。 Next, the print processing unit 122 of the print library 120 uses the print request unit 124 to acquire network information from the device information instance 200 included in the print execution request (step S117). That is, the print request unit 124 acquires the device information with the field name “network information” from among the device information held in the device information instance 200 . The print request unit 124 can acquire the device information with the field name “network information” by calling the method “getNetworkInfo” defined in the method declaration 1109 of the device information class 1100 . Since the print processing class 1400 that implements the print processing unit 122 and the device information class 1100 belong to the same package “printlibrary”, the print request unit 124 can call the method “getNetworkInfo”.

次に、印刷ライブラリ120の印刷処理部122は、印刷要求部124により、上記のステップS117で取得されたネットワーク情報に基づいて、機器20との通信可否を判定する(ステップS118)。すなわち、印刷要求部124は、例えば、上記のステップS117で取得されたネットワーク情報に含まれるSSIDと、端末装置10が接続しているアクセスポイントのSSIDとを比較することで、端末装置10と機器20とが通信可能であるか否かを判定する。 Next, the print processing unit 122 of the print library 120 determines whether or not communication with the device 20 is possible based on the network information acquired in step S117 by the print request unit 124 (step S118). That is, the print request unit 124 compares the SSID included in the network information acquired in step S117 and the SSID of the access point to which the terminal device 10 is connected, for example. 20 is communicable.

なお、通信可能であるか否かは、例えば、これらのSSIDを比較して、端末装置10と機器20とが同一ネットワーク内にあるか否かを判定すれば良い。ただし、これに限られず、例えば、端末装置10の通信方式と、機器20の通信方式とを比較して、端末装置10と機器20とが通信可能であるか否かを判定しても良い。 Whether or not communication is possible can be determined, for example, by comparing these SSIDs and determining whether or not the terminal device 10 and the device 20 are in the same network. However, the present invention is not limited to this, and for example, the communication method of the terminal device 10 and the communication method of the device 20 may be compared to determine whether or not the terminal device 10 and the device 20 can communicate with each other.

ステップS118において、機器20と通信可能であると判定された場合、印刷ライブラリ120の印刷処理部122は、印刷要求部124により、印刷実行要求に含まれる機器情報インスタンス200からIPアドレスを取得する(ステップS119)。すなわち、印刷要求部124は、機器情報インスタンス200に保持されている機器情報のうち、フィールド名「IPアドレス」の機器情報を取得する。印刷要求部124は、機器情報クラス1100のメソッド宣言1103に定義されているメソッド「getIPAddress」を呼び出すことで、フィールド名「IPアドレス」の機器情報を取得することができる。 If it is determined in step S118 that communication with the device 20 is possible, the print processing unit 122 of the print library 120 causes the print request unit 124 to acquire the IP address from the device information instance 200 included in the print execution request ( step S119). That is, the print request unit 124 acquires the device information with the field name “IP address” from among the device information held in the device information instance 200 . The print request unit 124 can acquire the device information with the field name “IP address” by calling the method “getIPAddress” defined in the method declaration 1103 of the device information class 1100 .

次に、印刷ライブラリ120の印刷処理部122は、印刷要求部124により、印刷要求を機器20に送信する(ステップS120)。すなわち、印刷要求部124は、例えばWi-Fi等の無線LANにより、上記のステップS119で取得されたIPアドレス宛に印刷要求を送信する。印刷要求には、上記のステップS116で生成された印刷データが含まれる。これにより、印刷要求を受信した機器20において印刷データの印刷が行われ、印刷結果が返信される。 Next, the print processing unit 122 of the print library 120 uses the print request unit 124 to transmit a print request to the device 20 (step S120). That is, the print request unit 124 transmits a print request to the IP address obtained in step S119 above, via a wireless LAN such as Wi-Fi. The print request includes the print data generated in step S116 above. As a result, the device 20 that has received the print request prints the print data and returns the print result.

一方で、ステップS118において、機器20と通信可能でないと判定された場合、印刷ライブラリ120の印刷処理部122は、印刷要求部124により、ベンダ開発プログラム110にエラーを返信する。これにより、例えば、印刷を行うことができないことを示すエラー画面が表示装置12上に表示される。 On the other hand, if it is determined in step S118 that communication with the device 20 is not possible, the print processing unit 122 of the print library 120 returns an error to the vendor development program 110 via the print request unit 124 . As a result, for example, an error screen indicating that printing cannot be performed is displayed on the display device 12 .

<第一の実施形態のまとめ>
以上のように、本実施形態に係る印刷システム1では、機器20の製造元企業が提供する印刷ライブラリ120により管理される各種情報について、サードベンダにより開発されたベンダ開発プログラム110が読み取りや書き換えを制限することができる。これにより、本実施形態に係る印刷システム1では、印刷ライブラリ120により管理される各種情報について、ベンダ開発プログラム110により不正に書き換えられてしまったり、不要な情報が参照されてしまったりといった事態を防止することができる。
<Summary of the first embodiment>
As described above, in the printing system 1 according to the present embodiment, the vendor development program 110 developed by the third vendor restricts reading and rewriting of various information managed by the printing library 120 provided by the manufacturer of the device 20. can do. As a result, in the printing system 1 according to the present embodiment, various kinds of information managed by the printing library 120 are prevented from being illegally rewritten by the vendor development program 110, or unnecessary information is referred to. can do.

また、本実施形態に係る印刷システム1では、ベンダ開発プログラム110による情報の書き換えを制限することで、機器20の意図しない動作等を防止することができる。 Further, in the printing system 1 according to the present embodiment, by restricting rewriting of information by the vendor development program 110, unintended operations of the device 20 can be prevented.

例えば、ベンダ開発プログラム110によりフィールド名「サポートPDL」の機器情報が書き換えられてしまった場合、図14のステップS116で機器20がサポートしていないデータ形式の印刷データが生成されてしまうことがある。このため、機器20で意図しないエラー(印刷データのデータ形式エラー等)が発生することがある。 For example, if the vendor development program 110 rewrites the device information with the field name "supported PDL", print data in a data format not supported by the device 20 may be generated in step S116 of FIG. . Therefore, an unintended error (data format error of print data, etc.) may occur in the device 20 .

また、例えば、フィールド名「IPアドレス」の機器情報が書き換えられてしまった場合、図14のステップS120で印刷要求が意図しない機器20に送信されてしまうことがある。このため、意図しない機器20で印刷が行われてしまうことができる。 Also, for example, if the device information with the field name "IP address" is rewritten, the print request may be sent to an unintended device 20 in step S120 of FIG. Therefore, printing may be performed by an unintended device 20 .

なお、本実施形態では、機器20で印刷を行う場合について説明したが、例えば、機器20でスキャンにより生成された画像データ(スキャン画像)をベンダ開発プログラム110が取得する場合についても同様に適用することができる。この場合、印刷ライブラリ120には、機器20からスキャン画像を取得するためのクラス(スキャン画像取得クラス)が定義されていれば良い。そして、スキャン画像取得クラスにより実現されるスキャン画像取得部が、機器情報に基づいて、機器20からスキャン画像を取得すれば良い。 In the present embodiment, the case where printing is performed by the device 20 has been described. However, for example, the same applies to the case where the vendor development program 110 acquires image data (scanned image) generated by scanning with the device 20. be able to. In this case, the print library 120 may define a class (scanned image acquisition class) for acquiring the scanned image from the device 20 . Then, the scanned image acquisition unit implemented by the scanned image acquisition class may acquire the scanned image from the device 20 based on the device information.

[第二の実施形態]
次に、第二の実施形態について説明する。第一の実施形態では機器20がMFPである場合について説明したが、第二の実施形態では機器20がプロジェクタである場合について説明する。
[Second embodiment]
Next, a second embodiment will be described. In the first embodiment, the device 20 is an MFP, but in the second embodiment, the device 20 is a projector.

なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様の構成要素については、適宜、その説明を省略又は簡略化する。 In addition, in the second embodiment, differences from the first embodiment will be mainly described, and the description of the same components as in the first embodiment will be omitted or simplified as appropriate.

<全体構成>
まず、本実施形態に係る投影システム2の全体構成について、図16を参照しながら説明する。図16は、第二の実施形態に係る投影システム2の全体構成の一例を示す図である。
<Overall composition>
First, the overall configuration of the projection system 2 according to this embodiment will be described with reference to FIG. FIG. 16 is a diagram showing an example of the overall configuration of the projection system 2 according to the second embodiment.

図16に示すように、本実施形態に係る投影システム2には、1台以上の端末装置10と、1台以上の機器20とが含まれる。また、端末装置10と機器20とは、例えば、Bluetooth等の近距離無線通信を用いて、通信可能に接続される。更に、端末装置10と機器20とは、例えば、Wi-Fi等の無線LANを用いて、通信可能に接続される。 As shown in FIG. 16 , the projection system 2 according to this embodiment includes one or more terminal devices 10 and one or more devices 20 . Also, the terminal device 10 and the device 20 are communicably connected using short-range wireless communication such as Bluetooth, for example. Furthermore, the terminal device 10 and the device 20 are connected so as to be able to communicate using a wireless LAN such as Wi-Fi.

機器20は、プロジェクタ等の投影装置である。機器20は、端末装置10からの要求に応じて、投影処理を行う。なお、機器20のハードウェア構成としては、例えば、一般的なプロジェクタのハードウェア構成とすれば良い。 The device 20 is a projection device such as a projector. The device 20 performs projection processing in response to a request from the terminal device 10 . The hardware configuration of the device 20 may be, for example, the hardware configuration of a general projector.

端末装置10は、スマートフォン等の情報処理装置である。端末装置10には、サードベンダにより開発され、機器20と連携した処理を行う投影アプリケーション400がインストールされている。端末装置10のユーザは、投影アプリケーション400を用いて、機器20で画像の投影を行うことができる。なお、端末装置10のハードウェア構成は第一の実施形態と同様である。 The terminal device 10 is an information processing device such as a smart phone. A projection application 400 that is developed by a third vendor and performs processing in cooperation with the device 20 is installed in the terminal device 10 . A user of the terminal device 10 can use the projection application 400 to project an image on the device 20 . Note that the hardware configuration of the terminal device 10 is the same as that of the first embodiment.

なお、端末装置10は、第一の実施形態と同様に、スマートフォンに限られず、例えば、タブレット端末、ノート型PC(パーソナルコンピュータ)、デスクトップ型PC、ゲーム機器、デジタルカメラ、ウェアラブルデバイス等であっても良い。 Note that, as in the first embodiment, the terminal device 10 is not limited to a smartphone, and may be, for example, a tablet terminal, a notebook PC (personal computer), a desktop PC, a game device, a digital camera, a wearable device, or the like. Also good.

<投影アプリケーション400の構成>
ここで、サードベンダにより開発された投影アプリケーション400の構成について、図17を参照しながら説明する。図17は、投影アプリケーション400の構成の一例を説明する図である。
<Configuration of Projection Application 400>
Here, the configuration of the projection application 400 developed by a third vendor will be described with reference to FIG. FIG. 17 is a diagram illustrating an example of the configuration of the projection application 400. As shown in FIG.

図17に示すように、投影アプリケーション400は、サードベンダにより開発され、独自の機能を提供するプログラムであるベンダ開発プログラム410と、機器20の製造元企業が提供するAPI群である投影ライブラリ420とを有する。 As shown in FIG. 17, the projection application 400 includes a vendor development program 410, which is a program developed by a third vendor and provides unique functions, and a projection library 420, which is an API group provided by the manufacturer of the device 20. have.

投影ライブラリ420は、投影機能を提供するためのプログラムである。投影ライブラリ420には、例えば、機器20から機器情報を取得するためのAPIや機器20に対して投影を要求するためのAPI等が定義されている。このため、ベンダ開発プログラム410は、投影ライブラリ420に定義されたAPIを呼び出すことで、機器20からの機器情報の取得や機器20への投影要求等、機器20と連携した処理を実現することができる。 Projection library 420 is a program for providing projection functions. The projection library 420 defines, for example, an API for acquiring device information from the device 20 and an API for requesting projection from the device 20 . Therefore, the vendor development program 410 can implement processing in cooperation with the device 20, such as obtaining device information from the device 20 and requesting projection to the device 20, by calling the API defined in the projection library 420. can.

なお、第一の実施形態と同様に、ベンダ開発プログラム410及び投影ライブラリ420は、Java言語で開発されたプログラムであるものとする。 As in the first embodiment, the vendor development program 410 and projection library 420 are programs developed in Java language.

<機能構成>
次に、本実施形態に係る端末装置10の機能構成について、図18を参照しながら説明する。図18は、第二の実施形態に係る端末装置10の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the terminal device 10 according to this embodiment will be described with reference to FIG. FIG. 18 is a diagram showing an example of the functional configuration of the terminal device 10 according to the second embodiment.

図18に示すように、本実施形態に係る端末装置10は、機器情報取得要求部411と、表示制御部412と、投影対象データ設定部413と、投影設定部414と、実行操作受付部415と、投影実行要求部416とを有する。これら各部は、ベンダ開発プログラム410がCPU16に実行させる処理により実現される。 As shown in FIG. 18, the terminal device 10 according to the present embodiment includes a device information acquisition request unit 411, a display control unit 412, a projection target data setting unit 413, a projection setting unit 414, and an execution operation reception unit 415. , and a projection execution request unit 416 . These units are implemented by processing that the vendor development program 410 causes the CPU 16 to execute.

また、本実施形態に係る端末装置10は、機器情報取得部421と、投影処理部422とを有する。これら各部は、投影ライブラリ420がCPU16に実行させる処理により実現される。 Further, the terminal device 10 according to this embodiment has a device information acquisition unit 421 and a projection processing unit 422 . These units are implemented by processing that the projection library 420 causes the CPU 16 to execute.

機器情報取得要求部411は、ユーザによる機器情報の取得操作を受け付ける。また、機器情報取得要求部411は、ユーザによる機器情報の取得操作を受け付けると、機器情報の取得を機器情報取得部421に要求する。機器情報取得要求部411は、機器情報取得部421を実現するクラス(このクラスを、以降では「機器情報取得クラス2300」と表す。)内のメソッドを呼び出すことで、機器情報の取得を要求することができる。 The device information acquisition request unit 411 receives device information acquisition operation by the user. In addition, when the device information acquisition request unit 411 receives the device information acquisition operation by the user, the device information acquisition request unit 411 requests the device information acquisition unit 421 to acquire the device information. The device information acquisition request unit 411 requests acquisition of device information by calling a method in a class that implements the device information acquisition unit 421 (this class is hereinafter referred to as “device information acquisition class 2300”). be able to.

表示制御部412は、機器情報取得部421により取得された機器情報を表示装置12上に表示する。 The display control unit 412 displays the device information acquired by the device information acquisition unit 421 on the display device 12 .

投影対象データ設定部413は、ユーザによる投影対象データの選択操作を受け付ける。投影対象データとは、ユーザが投影を所望するコンテンツデータのことである。コンテンツデータとしては、例えば、画像データや動画データ等が挙げられる。以降では、一例として、コンテンツデータは画像データであるものとする。 The projection target data setting unit 413 receives a selection operation of projection target data by the user. Projection target data is content data that the user desires to project. Content data includes, for example, image data and moving image data. Hereinafter, as an example, it is assumed that content data is image data.

また、投影対象データ設定部413は、ユーザによる投影対象データの選択操作を受け付けると、選択されたコンテンツデータを投影対象データに設定する。 In addition, upon receiving a selection operation of projection target data by the user, the projection target data setting unit 413 sets the selected content data as the projection target data.

投影設定部414は、ユーザによる投影設定情報の指定操作を受け付ける。投影設定情報には、例えば、切替方法等がある。切替方法とは、投影対象の画像を他の画像に切り替える場合における切り替え時の表示態様のことである。 The projection setting unit 414 receives an operation of specifying projection setting information by the user. The projection setting information includes, for example, a switching method. The switching method is a display mode at the time of switching when the image to be projected is switched to another image.

また、投影設定部414は、ユーザによる投影設定情報の指定操作を受け付けると、各投影設定情報が保持される投影設定情報インスタンス600を生成する。そして、投影設定部414は、ユーザにより指定された投影設定情報を投影設定情報インスタンス600に設定する。投影設定部414は、投影設定情報インスタンス600を実現するクラス(このクラスを、以降では「投影設定情報クラス2200」と表す。)内のメソッドを呼び出すことで、投影設定情報を設定することができる。 Further, upon receiving a user's operation of specifying projection setting information, the projection setting unit 414 generates a projection setting information instance 600 that holds each piece of projection setting information. The projection setting unit 414 then sets the projection setting information specified by the user in the projection setting information instance 600 . The projection setting unit 414 can set the projection setting information by calling a method in a class that implements the projection setting information instance 600 (this class is hereinafter referred to as a “projection setting information class 2200”). .

実行操作受付部415は、ユーザによる投影実行操作を受け付ける。投影実行要求部416は、実行操作受付部415により投影実行操作が受け付けられると、投影実行を投影処理部422に要求する。投影実行要求部416は、投影処理部422を実現するクラス(このクラスを、以降では「投影処理クラス2400」と表す。)内のメソッドを呼び出すことで、投影実行を要求することができる。 The execution operation reception unit 415 receives a projection execution operation by the user. When the execution operation receiving unit 415 receives a projection execution operation, the projection execution requesting unit 416 requests the projection processing unit 422 to execute projection. The projection execution request unit 416 can request projection execution by calling a method in a class that implements the projection processing unit 422 (this class will be referred to as a “projection processing class 2400” hereinafter).

機器情報取得部421は、機器情報取得要求部411からの要求に応じて、機器20から機器情報を取得する。このとき、機器情報取得部421は、例えばBluetooth等の近距離無線通信を用いて、機器20から機器情報を取得する。機器情報には、例えば、IPアドレス、モデル名、解像度、ネットワーク情報等がある。 The device information acquisition unit 421 acquires device information from the device 20 in response to a request from the device information acquisition request unit 411 . At this time, the device information acquisition unit 421 acquires the device information from the device 20 using short-range wireless communication such as Bluetooth. The device information includes IP address, model name, resolution, network information, and the like, for example.

また、機器情報取得部421は、機器20から機器情報を取得すると、取得した各機器情報が保持される機器情報インスタンス500を生成する。そして、機器情報取得部421は、取得した機器情報を機器情報インスタンス500に設定する。機器情報取得部421は、機器情報インスタンス500を実現するクラス(このクラスを、以降では「機器情報クラス2100」と表す。)内のメソッドを呼び出すことで、機器情報を設定することができる。 Further, when the device information acquisition unit 421 acquires the device information from the device 20, the device information acquisition unit 421 generates a device information instance 500 that holds the acquired device information. Then, the device information acquisition unit 421 sets the acquired device information in the device information instance 500 . The device information acquisition unit 421 can set device information by calling a method in a class that implements the device information instance 500 (this class is hereinafter referred to as “device information class 2100”).

投影処理部422は、投影実行要求部416からの要求に応じて、投影データを生成した上で、投影要求を機器20に送信する。このとき、投影処理部422は、例えばWi-Fi等の無線LANを用いて、投影要求を機器20に送信する。 The projection processing unit 422 generates projection data in response to a request from the projection execution request unit 416 and then transmits a projection request to the device 20 . At this time, the projection processing unit 422 transmits a projection request to the device 20 using a wireless LAN such as Wi-Fi.

投影処理部422には、投影データ生成部423と、投影要求部424とが含まれる。投影データ生成部423は、投影データを生成する。投影データとは、投影対象データを機器20が投影可能なデータ形式(例えば、機器20が投影可能な解像度のデータ形式)に変換したデータである。投影要求部424は、投影データ生成部423により生成された投影データが含まれる投影要求を機器20に送信する。 The projection processing section 422 includes a projection data generation section 423 and a projection request section 424 . The projection data generator 423 generates projection data. Projection data is data obtained by converting projection target data into a data format that can be projected by the device 20 (for example, a data format with a resolution that can be projected by the device 20). The projection request unit 424 transmits a projection request including the projection data generated by the projection data generation unit 423 to the device 20 .

ここで、機器情報インスタンス500について、図19を参照しながら説明する。図19は、機器情報インスタンス500の一例を示す図である。 Here, the device information instance 500 will be described with reference to FIG. 19 . FIG. 19 is a diagram showing an example of the device information instance 500. As shown in FIG.

図19に示すように、機器情報インスタンス500は、フィールド名「IPアドレス」の機器情報と、フィールド名「モデル名」の機器情報と、フィールド名「解像度」の機器情報と、フィールド名「ネットワーク情報」の機器情報とを保持する。これらの機器情報のうち、フィールド名「IPアドレス」、「モデル名」及び「ネットワーク情報」の機器情報は、第一の実施形態と同様であるため、その説明を省略する。 As shown in FIG. 19, the device information instance 500 includes device information with the field name “IP address”, device information with the field name “model name”, device information with the field name “resolution”, and field name “network information”. ” device information. Among these pieces of device information, the device information with the field names "IP address", "model name" and "network information" are the same as those in the first embodiment, so description thereof will be omitted.

フィールド名「解像度」の機器情報は、フィールド値として、機器20が投影可能な画像データの解像度が設定される。また、フィールド名「解像度」の機器情報の読取範囲及び書換範囲は「ライブラリ内」である。これは、フィールド名「解像度」の機器情報は、投影ライブラリ420以外のプログラムからは読み取りも書き換えも不可であることを示している。ただし、フィールド名「解像度」の機器情報の読取範囲は、「全域」であっても良い。 For the device information with the field name “resolution”, the resolution of image data that can be projected by the device 20 is set as the field value. Also, the read range and rewrite range of the device information with the field name "resolution" are "within the library". This indicates that the device information with the field name “resolution” cannot be read or rewritten by programs other than the projection library 420 . However, the reading range of the device information with the field name "resolution" may be "whole area".

なお、フィールド名「解像度」のフィールド値には、「1280×720」等の具体的な解像度の値が設定される場合に限られない。例えば、「XGA(Extended Graphics Array)」や「HD(High Definition video)」等の解像度の規格又は分類が設定されても良い。 Note that the field value of the field name "resolution" is not limited to the case where a specific resolution value such as "1280×720" is set. For example, resolution standards or classifications such as “XGA (Extended Graphics Array)” and “HD (High Definition video)” may be set.

以上のように、機器情報インスタンス500には、当該機器情報インスタンス500が保持している機器情報の読取範囲及び書換範囲が設定されている。これにより、機器20の製造元企業は、サードベンダにより開発されたベンダ開発プログラム410が不要な機器情報を参照したり、不正に機器情報を書き換えたりすることを防止することができる。なお、機器情報インスタンス500が保持する機器情報は、上記の「IPアドレス」、「モデル名」、「解像度」、及び「ネットワーク情報」に限られない。機器情報インスタンス500は、例えば、機器番号や製造年月日、製造元企業の情報等、種々の機器情報を保持しても良い。 As described above, in the device information instance 500, the read range and rewrite range of the device information held by the device information instance 500 are set. As a result, the manufacturer of the device 20 can prevent the vendor development program 410 developed by the third vendor from referencing unnecessary device information or illegally rewriting the device information. Note that the device information held by the device information instance 500 is not limited to the above "IP address", "model name", "resolution", and "network information". The device information instance 500 may hold various types of device information such as the device number, date of manufacture, and manufacturer company information.

次に、投影設定情報インスタンス600について、図20を参照しながら説明する。図20は、投影設定情報インスタンス600の一例を示す図である。 Next, projection setting information instance 600 will be described with reference to FIG. FIG. 20 is a diagram showing an example of projection setting information instance 600. As shown in FIG.

図20に示すように、投影設定情報インスタンス600は、フィールド名「切替方法」の投影設定情報を保持する。 As shown in FIG. 20, the projection setting information instance 600 holds projection setting information with the field name "switching method".

フィールド名「切替方法」の投影設定情報は、フィールド値として、ユーザにより設定された切替方法(又はデフォルトの切替方法)が設定される。切替方法とは、上述したように、投影対象の画像を他の画像に切り替える場合における切り替え時の表示態様のことである。フィールド名「切替方法」のフィールド値としては、例えば、「none」、「fade」、「cut」等が挙げられる。「none」は、例えば、投影対象の画像を他の画像に単に切り替える表示態様のことである。「fade」は、例えば、投影対象の画像をフェードアウト、他の画像をフェードインさせることで、投影対象の画像を他の画像に切り替える表示態様のことである。「cut」は、例えば、投影対象の画像をカットアウト、他の画像をカットインさせることで、投影対象の画像を他の画像に切り替える表示態様のことである。 A switching method set by the user (or a default switching method) is set as a field value in the projection setting information with the field name “switching method”. The switching method is, as described above, the display mode at the time of switching when the image to be projected is switched to another image. Field values of the field name "switching method" include, for example, "none", "fade", and "cut". "None" is, for example, a display mode in which the image to be projected is simply switched to another image. "fade" is, for example, a display mode in which the image to be projected is faded out and the other image is faded in, thereby switching the image to be projected to another image. “Cut” is, for example, a display mode in which an image to be projected is cut out and another image is cut in, thereby switching the image to be projected to another image.

また、フィールド名「切替方法」の投影設定情報の読取範囲及び書換範囲は「全域」である。これは、フィールド名「切替方法」の投影設定情報は、投影ライブラリ420以外のプログラムから読み取りも書き換えも可能であることを示している。 Also, the read range and rewrite range of the projection setting information with the field name "switching method" are "whole area". This indicates that the projection setting information with the field name “switching method” can be read and rewritten by programs other than the projection library 420 .

以上のように、投影設定情報インスタンス600には、当該投影設定情報インスタンス600が保持している投影設定情報の読取範囲及び書換範囲が設定されている。これにより、機器20の製造元企業は、サードベンダにより開発されたベンダ開発プログラム410が不要な投影設定情報を参照したり、例えばデフォルト値のみが適用される投影設定情報が書き換えられたりすることを防止することができる。なお、投影設定情報インスタンス600が保持する投影設定情報は、上記の「切替方法」に限られない。 As described above, in the projection setting information instance 600, the reading range and rewriting range of the projection setting information held by the projection setting information instance 600 are set. This prevents the vendor development program 410 developed by a third vendor from referring to unnecessary projection setting information or from rewriting projection setting information to which only default values are applied, for example. can do. Note that the projection setting information held by the projection setting information instance 600 is not limited to the "switching method" described above.

ここで、上記の機器情報インスタンス500及び投影設定情報インスタンス600の読取範囲及び書換範囲は、Java言語のパッケージを用いて実現することができる。例えば、図21に示すように、ベンダ開発プログラム410に定義された各クラスが属するパッケージと、投影ライブラリ420に定義された各クラスが属するパッケージとを異なるパッケージとする。 Here, the reading range and rewriting range of the device information instance 500 and the projection setting information instance 600 can be realized using a Java language package. For example, as shown in FIG. 21, the package to which each class defined in the vendor development program 410 belongs is different from the package to which each class defined in the projection library 420 belongs.

これにより、機器情報インスタンス500が保持するフィールド(すなわち、機器情報)を操作するメソッドに対してアクセスレベルを定義することで、このフィールドの読取範囲及び書換範囲を制限することができる。同様に、投影設定情報インスタンス600が保持するフィールド(すなわち、投影設定情報)を操作するメソッドに対してアクセスレベルを定義することで、このフィールドの読取範囲及び書換範囲を制限することができる。以降では、投影ライブラリ420に定義された各クラスが属するパッケージのパッケージ名を「projectionlibrary」とする。 Thus, by defining an access level for a method that operates a field (that is, device information) held by the device information instance 500, it is possible to limit the read range and rewrite range of this field. Similarly, by defining an access level for a method that manipulates a field (that is, projection setting information) held by the projection setting information instance 600, it is possible to limit the read range and rewrite range of this field. Hereinafter, the package name of the package to which each class defined in the projection library 420 belongs is assumed to be "projectionlibrary".

なお、図21に示す例では、ベンダ開発プログラム410に定義された各クラスが同一のパッケージに属する場合を示しているが、これに限られず、例えば、これらの各クラスが異なるパッケージに属していても良い。 Although the example shown in FIG. 21 shows the case where each class defined in the vendor development program 410 belongs to the same package, the present invention is not limited to this. Also good.

ここで、機器情報インスタンス500を実現する機器情報クラス2100について、図22を参照しながら説明する。図22は、機器情報クラス2100の一例を示す図である。機器情報インスタンス500は、例えば図22に示す機器情報クラス2100をインスタンス化することで生成される。 Here, the device information class 2100 that implements the device information instance 500 will be described with reference to FIG. FIG. 22 is a diagram showing an example of the device information class 2100. As shown in FIG. The device information instance 500 is generated by instantiating the device information class 2100 shown in FIG. 22, for example.

図22に示すように、機器情報クラス2100には、パッケージ宣言2101と、クラス宣言2102とが含まれる。パッケージ宣言2101には、パッケージ名「projectionlibrary」が定義されている。クラス宣言2102には、各機器情報に対するメソッド宣言2103~2110が含まれる。 As shown in FIG. 22, device information class 2100 includes package declaration 2101 and class declaration 2102 . A package name “projectionlibrary” is defined in the package declaration 2101 . Class declaration 2102 includes method declarations 2103 to 2110 for each device information.

メソッド宣言2103~2106及びメソッド宣言2109~2110は、図9に示す機器情報クラス1100のメソッド宣言1103~1106及びメソッド宣言1109~1110とそれぞれ同様であるため、その説明を省略する。 Method declarations 2103 to 2106 and method declarations 2109 to 2110 are the same as the method declarations 1103 to 1106 and method declarations 1109 to 1110 of the device information class 1100 shown in FIG. 9, respectively, so description thereof will be omitted.

メソッド宣言2107には、フィールド名「解像度」の機器情報を読み取るためのメソッド「getResolution」が定義されている。また、メソッド宣言2107では、このメソッド「getResolution」のアクセス修飾子が定義されていない。これにより、フィールド名「解像度」の機器情報の読取範囲「ライブラリ内」が実現される。 A method declaration 2107 defines a method “getResolution” for reading the device information with the field name “resolution”. Also, in the method declaration 2107, no access modifier is defined for this method "getResolution". As a result, the reading range "within the library" of the device information with the field name "resolution" is realized.

メソッド宣言2108には、フィールド名「解像度」の機器情報を書き換えるためのメソッド「setResolution」が定義されている。また、メソッド宣言2108では、このメソッド「setResolution」のアクセス修飾子が定義されていない。これにより、フィールド名「解像度」の機器情報の書換範囲「ライブラリ内」が実現される。 A method declaration 2108 defines a method “setResolution” for rewriting the device information with the field name “resolution”. Also, in the method declaration 2108, no access modifier is defined for this method "setResolution". As a result, the rewriting range "within the library" of the device information with the field name "resolution" is realized.

以上のように、機器情報クラス2100では、機器情報を操作(読み取り又は書き換え)するためのメソッドに対して、アクセス修飾子「public」を定義することで、他のパッケージに属するクラスからも機器情報に対する操作を行うことができるようになる。一方で、機器情報クラス2100では、機器情報を操作するためのメソッドに対して、アクセス修飾子を定義しないことで、他のパッケージに属するクラスからは機器情報に対する操作を行えないようにすることができる。 As described above, in the device information class 2100, by defining the access modifier "public" for methods for manipulating (reading or rewriting) device information, classes belonging to other packages can access device information. You will be able to perform operations on On the other hand, in the device information class 2100, by not defining access modifiers for methods for operating device information, classes belonging to other packages cannot operate device information. can.

次に、投影設定情報インスタンス600を実現する投影設定情報クラス2200について、図23を参照しながら説明する。図23は、投影設定情報クラス2200の一例を示す図である。投影設定情報インスタンス600は、例えば図23に示す投影設定情報クラス2200をインスタンス化することで生成される。 Next, the projection setting information class 2200 that implements the projection setting information instance 600 will be described with reference to FIG. FIG. 23 is a diagram showing an example of the projection setting information class 2200. As shown in FIG. The projection setting information instance 600 is generated by instantiating the projection setting information class 2200 shown in FIG. 23, for example.

図23に示すように、投影設定情報クラス2200には、パッケージ宣言2201と、クラス宣言2202とが含まれる。パッケージ宣言2201には、パッケージ名「projectionlibrary」が定義されている。クラス宣言2202には、各投影設定情報に対するメソッド宣言2203~2204が含まれる。 As shown in FIG. 23, projection setting information class 2200 includes package declaration 2201 and class declaration 2202 . A package name “projectionlibrary” is defined in the package declaration 2201 . Class declaration 2202 includes method declarations 2203 and 2204 for each piece of projection setting information.

メソッド宣言2203には、フィールド名「切替方法」の投影設定情報を読み取るためのメソッド「getSwitch」が定義されている。また、メソッド宣言2203には、このメソッド「getSwitch」のアクセス修飾子「public」が定義されている。これにより、フィールド名「切替方法」の投影設定情報の読取範囲「全域」が実現される。 A method declaration 2203 defines a method “getSwitch” for reading the projection setting information with the field name “switching method”. Also, in the method declaration 2203, the access modifier "public" of this method "getSwitch" is defined. As a result, the reading range “whole area” of the projection setting information with the field name “switching method” is realized.

メソッド宣言2204には、フィールド名「切替方法」の投影設定情報を書き換えるためのメソッド「setSwitch」が定義されている。また、メソッド宣言2204には、このメソッド「setSwitch」のアクセス修飾子「public」が定義されている。これにより、フィールド名「切替方法」の投影設定情報の書換範囲「全域」が実現される。 A method declaration 2204 defines a method “setSwitch” for rewriting projection setting information with a field name “switching method”. Also, in the method declaration 2204, the access modifier "public" of this method "setSwitch" is defined. As a result, the rewrite range "whole area" of the projection setting information with the field name "switching method" is realized.

以上のように、投影設定情報クラス2200では、投影設定情報を操作(読み取り又は書き換え)するためのメソッドに対して、アクセス修飾子「public」を定義することで、他のパッケージに属するクラスからも投影設定情報に対する操作を行うことができるようになる。一方で、投影設定情報クラス2200では、投影設定情報を操作するためのメソッドに対して、アクセス修飾子を定義しないことで、他のパッケージに属するクラスからは投影設定情報に対する操作を行えないようにすることができる。 As described above, in the projection setting information class 2200, by defining the access modifier "public" for the method for manipulating (reading or rewriting) the projection setting information, classes belonging to other packages can access the method. It becomes possible to operate the projection setting information. On the other hand, the projection setting information class 2200 does not define access modifiers for methods for operating projection setting information, so that classes belonging to other packages cannot operate projection setting information. can do.

次に、機器情報取得部421を実現する機器情報取得クラス2300について、図24を参照しながら説明する。図24は、機器情報取得クラス2300の一例を示す図である。機器情報取得部421は、例えば図24に示す機器情報取得クラス2300をインスタンス化することで生成される。 Next, a device information acquisition class 2300 that implements the device information acquisition unit 421 will be described with reference to FIG. FIG. 24 is a diagram showing an example of the device information acquisition class 2300. As shown in FIG. The device information acquisition part 421 is generated by instantiating the device information acquisition class 2300 shown in FIG. 24, for example.

図24に示すように、機器情報取得クラス2300には、パッケージ宣言2301と、クラス宣言2302とが含まれる。パッケージ宣言2301には、パッケージ名「projectionlibrary」が定義されている。クラス宣言2302には、メソッド宣言2303が含まれる。 As shown in FIG. 24, device information acquisition class 2300 includes package declaration 2301 and class declaration 2302 . A package name “projectionlibrary” is defined in the package declaration 2301 . Class declaration 2302 includes method declaration 2303 .

メソッド宣言2303には、機器20から機器情報を取得するためのメソッド「getProjectorInfo」が定義されている。また、メソッド宣言2303には、このメソッド「getProjectorInfo」のアクセス修飾子「public」が定義されている。これにより、メソッド「getProjectorInfo」は、同一パッケージ以外のパッケージに属するクラス(すなわち、投影ライブラリ420以外のプログラムに定義されたクラス)からも呼び出すことができる。 A method declaration 2303 defines a method “getProjectorInfo” for acquiring device information from the device 20 . Also, in the method declaration 2303, the access modifier "public" of this method "getProjectorInfo" is defined. This allows the method "getProjectorInfo" to be called from classes belonging to packages other than the same package (that is, classes defined in programs other than the projection library 420).

次に、投影処理部422を実現する投影処理クラス2400について、図25を参照しながら説明する。図25は、投影処理クラス2400の一例を示す図である。投影処理部422は、例えば図25に示す投影処理クラス2400をインスタンス化することで生成される。 Next, a projection processing class 2400 that implements the projection processing unit 422 will be described with reference to FIG. FIG. 25 is a diagram showing an example of the projection processing class 2400. As shown in FIG. The projection processing unit 422 is generated by instantiating the projection processing class 2400 shown in FIG. 25, for example.

図25に示すように、投影処理クラス2400には、パッケージ宣言2401と、クラス宣言2402とが含まれる。パッケージ宣言2401には、パッケージ名「projectionlibrary」が定義されている。クラス宣言2402には、メソッド宣言2403が含まれる。 As shown in FIG. 25, projection processing class 2400 includes package declaration 2401 and class declaration 2402 . The package declaration 2401 defines a package name “projectionlibrary”. Class declaration 2402 includes method declaration 2403 .

メソッド宣言2403には、投影要求を機器20に送信するためのメソッド「project」が定義されている。また、メソッド宣言2403には、このメソッド「project」のアクセス修飾子「public」が定義されている。これにより、メソッド「project」は、同一パッケージ以外のパッケージに属するクラス(すなわち、投影ライブラリ420以外のプログラムに定義されたクラス)からも呼び出すことができる。 A method declaration 2403 defines a method “project” for transmitting a projection request to the device 20 . Also, in the method declaration 2403, the access modifier "public" of this method "project" is defined. This allows the method "project" to be called from classes belonging to packages other than the same package (that is, classes defined in programs other than the projection library 420).

なお、メソッド宣言2403には、メソッド「project」の引数として、「ProjectorInfo info」と、「ProjectData data」と、「ProjectSetting setting」とが定義されている。これは、メソッド「project」の引数として、機器情報と、投影対象データと、投影設定情報とが指定されることを示している。 In the method declaration 2403, "ProjectorInfo info", "ProjectData data", and "ProjectSetting setting" are defined as arguments of the method "project". This indicates that device information, projection target data, and projection setting information are specified as arguments of the method "project".

次に、ベンダ開発プログラム410のプログラムコード2500について、図26を参照しながら説明する。図26は、ベンダ開発プログラム410のプログラムコード2500の一例を示す図である。なお、図26では、一例として、機器情報取得要求部411と、投影対象データ設定部413と、投影設定部414と、投影実行要求部416とにそれぞれ対応するコードが定義されたプログラムコード2500について説明する。表示制御部412や実行操作受付部415等に対応するコードは別途それぞれ定義する必要がある。 Next, program code 2500 of vendor development program 410 will be described with reference to FIG. FIG. 26 is a diagram showing an example of program code 2500 of vendor development program 410 . Note that in FIG. 26, as an example, program code 2500 in which codes respectively corresponding to the device information acquisition requesting unit 411, the projection target data setting unit 413, the projection setting unit 414, and the projection execution requesting unit 416 are defined. explain. Codes corresponding to the display control unit 412, the execution operation receiving unit 415, etc. need to be defined separately.

図26に示すように、プログラムコード2500には、パッケージ宣言2501と、クラス宣言2502とが含まれる。パッケージ宣言2501には、パッケージ名「projectionapp」が定義されている。このため、ベンダ開発プログラム410は、パッケージ名「projectionlibrary」に属する各クラスに定義されたメソッドのうち、アクセス修飾子「public」が定義されていないメソッドを呼び出すことができない。 As shown in FIG. 26, program code 2500 includes package declaration 2501 and class declaration 2502 . A package declaration 2501 defines a package name “projectionapp”. Therefore, the vendor development program 410 cannot call a method for which the access modifier "public" is not defined among the methods defined in each class belonging to the package name "projectionlibrary".

クラス宣言2502には、投影実行クラス2503が含まれる。そして、投影実行クラス2503には、機器情報取得要求部411に対応するコードが定義されたコード定義2504と、投影設定部414に対応するコードが定義されたコード定義2505とが含まれる。また、投影実行クラス2503には、投影対象データ設定部413に対応するコードが定義されたコード定義2506と、投影実行要求部416に対応するコードが定義されたコード定義2507とが含まれる。 Class declaration 2502 includes projection execution class 2503 . The projection execution class 2503 includes a code definition 2504 defining a code corresponding to the device information acquisition requesting section 411 and a code definition 2505 defining a code corresponding to the projection setting section 414 . The projection execution class 2503 also includes a code definition 2506 defining a code corresponding to the projection target data setting unit 413 and a code definition 2507 defining a code corresponding to the projection execution requesting unit 416 .

コード定義2507に示すように、ベンダ開発プログラム410は、パッケージ名「projectionlibrary」に属する投影処理クラス2400のメソッド「project」を呼び出す際に、機器情報インスタンス500を示す「info」を引数に指定する。これにより、メソッド「project」における処理で、機器情報インスタンス500のアクセス修飾子「public」が定義されていないメソッドを呼び出した上で、機器20に対して、処理要求(投影要求)を行うことができる。例えば、メソッド「project」における処理で、機器情報インスタンス500を示す「info」のメソッド「getResolution」を呼び出してフィールド名「解像度」の機器情報を取得した上で、この機器情報を指定した投影要求を機器20に行うことができる。 As shown in the code definition 2507, the vendor development program 410 designates "info" indicating the device information instance 500 as an argument when calling the method "project" of the projection processing class 2400 belonging to the package name "projectionlibrary". As a result, in the process of the method "project", a method for which the access modifier "public" of the device information instance 500 is not defined can be called, and then a processing request (projection request) can be issued to the device 20. can. For example, in the process of the method "project", the method "getResolution" of "info" indicating the device information instance 500 is called to obtain the device information with the field name "resolution", and then a projection request specifying this device information is issued. can be performed on the device 20;

このため、投影アプリケーション400は、機器20に対して、ベンダ開発プログラム410が操作することができない情報(例えば、フィールド名「解像度」の機器情報やフィールド名「ネットワーク情報」の機器情報)を使用した処理要求(登録要求)を行うことが可能となる。 Therefore, the projection application 400 uses information that the vendor development program 410 cannot operate on the device 20 (for example, device information with the field name “resolution” and device information with the field name “network information”). It becomes possible to make a processing request (registration request).

<投影処理>
次に、本実施形態に係る投影システム2の投影処理について説明する。以降では、端末装置10のユーザが、投影アプリケーション400を用いて、機器20で画像の投影を行う場合の処理について、図27を参照しながら説明する。図27は、第二の実施形態に係る投影処理の一例を示すシーケンス図である。
<Projection processing>
Next, projection processing of the projection system 2 according to this embodiment will be described. Hereinafter, the processing when the user of the terminal device 10 uses the projection application 400 to project an image with the device 20 will be described with reference to FIG. 27 . FIG. 27 is a sequence diagram showing an example of projection processing according to the second embodiment.

以降の図27では、機器情報クラス2100及び投影設定情報クラス2200を除いて、ベンダ開発プログラム410及び投影ライブラリ420に定義されている各クラスはインスタンス化されているものとして説明する。なお、ベンダ開発プログラム410及び投影ライブラリ420に定義されている各クラスで、インスタンス化されていないクラスがあっても良い。この場合、当該クラスにより実現される機能部(インスタンス)の処理を実行する前に、適宜、インスタンス化されれば良い。また、機器情報クラス2100及び投影設定情報クラス2200も予めインスタンス化されていても良い。 27 below, except for the device information class 2100 and the projection setting information class 2200, each class defined in the vendor development program 410 and the projection library 420 is instantiated. Note that each class defined in the vendor development program 410 and the projection library 420 may include classes that have not been instantiated. In this case, it may be appropriately instantiated before executing the processing of the functional unit (instance) realized by the class. Also, the device information class 2100 and projection setting information class 2200 may be instantiated in advance.

まず、ベンダ開発プログラム410の機器情報取得要求部411は、図14のステップS101と同様に、ユーザによる機器情報の取得操作を受け付ける(ステップS201)。 First, the device information acquisition request unit 411 of the vendor development program 410 receives the device information acquisition operation by the user (step S201), as in step S101 of FIG.

ベンダ開発プログラム410の機器情報取得要求部411は、ユーザによる機器情報の取得操作を受け付けると、機器情報の取得を機器情報取得部421に要求する(ステップS202)。機器情報取得要求部411は、機器情報取得クラス2300のメソッド宣言2303に定義されているメソッド「getProjectorInfo」を呼び出すことで、機器情報の取得要求を行うことができる。 The device information acquisition requesting unit 411 of the vendor development program 410 requests the device information acquisition unit 421 to acquire the device information upon receiving the device information acquisition operation by the user (step S202). The device information acquisition request unit 411 can make a device information acquisition request by calling the method “getProjectorInfo” defined in the method declaration 2303 of the device information acquisition class 2300 .

投影ライブラリ420の機器情報取得部421は、図14のステップS103と同様に、機器情報の取得要求を受け取ると、機器20に対して、機器情報の問い合わせを行う(ステップS203)。そして、機器情報取得部421は、上記の問い合わせに応じて機器20から返信された機器情報を受信する。これにより、機器情報取得部421は、IPアドレス、モデル名、解像度、ネットワーク情報等の機器情報を機器20から取得することができる。 Upon receiving the device information acquisition request, the device information acquisition unit 421 of the projection library 420 inquires of the device 20 about the device information (step S203), as in step S103 of FIG. Then, the device information acquisition unit 421 receives the device information returned from the device 20 in response to the above inquiry. Accordingly, the device information acquisition unit 421 can acquire device information such as the IP address, model name, resolution, and network information from the device 20 .

投影ライブラリ420の機器情報取得部421は、機器20から機器情報を取得すると、機器情報インスタンス500を生成する(ステップS204)。機器情報インスタンス500は、機器情報クラス2100をインスタンス化することで生成される。 Upon acquiring the device information from the device 20, the device information acquisition unit 421 of the projection library 420 generates the device information instance 500 (step S204). A device information instance 500 is generated by instantiating the device information class 2100 .

次に、投影ライブラリ420の機器情報取得部421は、機器20から取得した機器情報を機器情報インスタンス500に設定する(ステップS205)。 Next, the device information acquisition unit 421 of the projection library 420 sets the device information acquired from the device 20 in the device information instance 500 (step S205).

すなわち、機器情報取得部421は、機器20から取得したIPアドレスを引数に指定した上で、機器情報クラス2100のメソッド宣言2104に定義されているメソッド「setIPAddress」を呼び出す。これにより、フィールド名「IPアドレス」の機器情報が機器情報インスタンス500に設定される。 That is, the device information acquisition unit 421 calls the method “setIPAddress” defined in the method declaration 2104 of the device information class 2100 after specifying the IP address acquired from the device 20 as an argument. As a result, the device information with the field name “IP address” is set in the device information instance 500 .

同様に、機器情報取得部421は、機器20から取得したモデル名を引数に指定した上で、機器情報クラス2100のメソッド宣言2106に定義されているメソッド「setModelName」を呼び出す。これにより、フィールド名「モデル名」の機器情報が機器情報インスタンス500に設定される。 Similarly, the device information acquisition unit 421 calls the method “setModelName” defined in the method declaration 2106 of the device information class 2100 after specifying the model name acquired from the device 20 as an argument. As a result, the device information with the field name “model name” is set in the device information instance 500 .

同様に、機器情報取得部421は、機器20から取得した解像度を引数に指定した上で、機器情報クラス2100のメソッド宣言2108に定義されているメソッド「setResolution」を呼び出す。これにより、フィールド名「解像度」の機器情報が機器情報インスタンス500に設定される。 Similarly, the device information acquisition unit 421 calls the method “setResolution” defined in the method declaration 2108 of the device information class 2100 after specifying the resolution acquired from the device 20 as an argument. As a result, the device information with the field name “resolution” is set in the device information instance 500 .

同様に、機器情報取得部421は、機器20から取得したネットワーク情報を引数に指定した上で、機器情報クラス2100のメソッド宣言2110に定義されているメソッド「setNetworkInfo」を呼び出す。これにより、フィールド名「ネットワーク情報」の機器情報が機器情報インスタンス500に設定される。 Similarly, the device information acquisition unit 421 calls the method “setNetworkInfo” defined in the method declaration 2110 of the device information class 2100 after specifying the network information acquired from the device 20 as an argument. As a result, the device information with the field name “network information” is set in the device information instance 500 .

そして、機器情報取得部421は、機器20から取得した各機器情報が設定された機器情報インスタンス500をベンダ開発プログラム410に返信する。 Then, the device information acquisition unit 421 returns the device information instance 500 in which each device information acquired from the device 20 is set to the vendor development program 410 .

ベンダ開発プログラム410の表示制御部412は、機器情報取得部421から返信された機器情報インスタンス500から機器情報を取得する。そして、表示制御部412は、機器情報インスタンス500から取得した機器情報を表示装置12上に表示する(ステップS206)。このとき、表示制御部412は、図14のステップS106と同様に、機器情報インスタンス200に保持されている機器情報のうち、読取範囲が「全域」となっている機器情報を取得することができる。これにより、例えば、解像度やネットワーク情報等、ユーザが必ずしも参照する必要のない機器情報が表示されることを防止することができる。 The display control unit 412 of the vendor development program 410 acquires device information from the device information instance 500 returned from the device information acquisition unit 421 . Then, the display control unit 412 displays the device information acquired from the device information instance 500 on the display device 12 (step S206). At this time, the display control unit 412 can acquire the device information whose read range is "whole area" among the device information held in the device information instance 200, as in step S106 of FIG. . As a result, it is possible to prevent device information that the user does not necessarily need to refer to, such as resolution and network information, from being displayed.

次に、ベンダ開発プログラム410の投影対象データ設定部413は、ユーザによる投影対象データの選択操作を受け付ける(ステップS207)。ユーザは、例えば、上記のステップS206で機器情報が表示されている画面からコンテンツデータの一覧画面に遷移させた上で、コンテンツデータの一覧画面から所望のコンテンツデータを選択することで、投影対象データの選択操作を行うことができる。 Next, the projection target data setting unit 413 of the vendor development program 410 receives the user's selection operation of the projection target data (step S207). For example, in step S206, the user changes from the screen displaying the device information to the content data list screen, and then selects desired content data from the content data list screen. selection operation can be performed.

ベンダ開発プログラム410の投影対象データ設定部413は、ユーザによる投影対象データの選択操作を受け付けると、選択されたコンテンツデータを投影対象データに設定する(ステップS208)。なお、上記のステップS201の処理が実行される前に、投影対象データが予め設定されている場合等には、上記のステップS207及びステップS208の処理は実行されなくても良い。 The projection target data setting unit 413 of the vendor development program 410 receives the user's selection operation of the projection target data, and sets the selected content data as the projection target data (step S208). Note that if the projection target data is set in advance before the process of step S201 is executed, the processes of steps S207 and S208 do not have to be executed.

次に、ベンダ開発プログラム410の投影設定部414は、ユーザによる投影設定情報の指定操作を受け付ける(ステップS209)。ユーザは、例えば、投影対象データを選択した後に表示される所定の画面において、各投影設定情報の設定値を指定することで、投影設定情報の指定操作を行うことができる。なお、ユーザが投影設定情報を変更しない場合(すなわち、投影設定情報の設定値としてデフォルト値を用いる場合)、本ステップの処理は実行されなくても良い。 Next, the projection setting unit 414 of the vendor development program 410 receives the operation of specifying the projection setting information by the user (step S209). For example, the user can specify projection setting information by specifying a setting value for each piece of projection setting information on a predetermined screen displayed after selecting projection target data. Note that if the user does not change the projection setting information (that is, if the default value is used as the setting value of the projection setting information), the processing of this step may not be executed.

ベンダ開発プログラム410の投影設定部414は、投影設定情報インスタンス600を生成する(ステップS210)。投影設定情報インスタンス600は、投影設定情報クラス2200をインスタンス化することで生成される。 The projection setting unit 414 of the vendor development program 410 generates the projection setting information instance 600 (step S210). A projection setting information instance 600 is generated by instantiating the projection setting information class 2200 .

次に、ベンダ開発プログラム410の投影設定部414は、上記のステップS209でユーザにより指定された投影設定情報を投影設定情報インスタンス600に設定する(ステップS211)。 Next, the projection setting unit 414 of the vendor development program 410 sets the projection setting information specified by the user in step S209 to the projection setting information instance 600 (step S211).

すなわち、投影設定部414は、ユーザにより指定された切替方法を引数に指定した上で、投影設定情報クラス2200のメソッド宣言2204に定義されているメソッド「setSwitch」を呼び出す。これにより、フィールド名「切替方法」の投影設定情報が投影設定情報インスタンス600に設定される。 That is, the projection setting unit 414 calls the method “setSwitch” defined in the method declaration 2204 of the projection setting information class 2200 after specifying the switching method specified by the user as an argument. As a result, the projection setting information with the field name “switching method” is set in the projection setting information instance 600 .

次に、ベンダ開発プログラム410の実行操作受付部415は、ユーザによる投影実行操作を受け付ける(ステップS212)。ユーザは、例えば、投影設定情報を指定した後に表示される所定の画面において、投影実行ボタンを押下することで、投影実行操作を行うことができる。 Next, the execution operation reception unit 415 of the vendor development program 410 receives a projection execution operation by the user (step S212). For example, the user can perform a projection execution operation by pressing a projection execution button on a predetermined screen displayed after specifying projection setting information.

ベンダ開発プログラム410の投影実行要求部416は、実行操作受付部415により投影実行操作が受け付けられると、投影実行を投影処理部422に要求する(ステップS213)。この投影実行要求には、機器情報インスタンス500と、投影対象データと、投影設定情報インスタンス600とが含まれる。投影実行要求部416は、機器情報インスタンス500と、投影対象データと、投影設定情報インスタンス600とを引数に指定した上で、投影処理クラス2400のメソッド宣言2403に定義されているメソッド「project」を呼び出すことで、投影実行要求を行うことができる。 When the execution operation receiving unit 415 receives the projection execution operation, the projection execution requesting unit 416 of the vendor development program 410 requests the projection processing unit 422 to execute projection (step S213). This projection execution request includes an equipment information instance 500 , projection target data, and a projection setting information instance 600 . The projection execution request unit 416 designates the device information instance 500, the projection target data, and the projection setting information instance 600 as arguments, and then executes the method "project" defined in the method declaration 2403 of the projection processing class 2400. By calling it, a projection execution request can be made.

メソッド「project」に対して機器情報インスタンス500が引数に指定されることで、例えば、複数の機器情報インスタンス500が存在する場合(すなわち、例えば、周囲に複数の機器20が存在し、これら複数の機器20からそれぞれ機器情報を取得した場合)、どの機器情報インスタンス500を用いるかを指定することができるようになる。このため、ベンダ開発プログラム410からは操作することができない複数の情報を管理することができるようになる。 By specifying the device information instance 500 as an argument to the method "project", for example, when a plurality of device information instances 500 exist (that is, for example, when there are a plurality of devices 20 When the device information is acquired from each device 20), it becomes possible to specify which device information instance 500 is to be used. Therefore, it becomes possible to manage a plurality of pieces of information that cannot be operated from the vendor development program 410 .

例えば、複数の機器情報インスタンス500が存在する場合、例えば、フィールド名「解像度」の機器情報は機器20毎に存在する。この場合、フィールド名「解像度」の機器情報は、いずれもベンダ開発プログラム410からは参照することができない。このため、ベンダ開発プログラム410は、これらの機器情報のうちの一の機器情報を直接指定することはできないものの、機器情報インスタンス500を指定することで、どの機器20の解像度を用いるかを結果的に指定することができるようになる。 For example, when a plurality of device information instances 500 exist, device information with the field name “resolution” exists for each device 20 . In this case, none of the device information with the field name “resolution” can be referenced from the vendor development program 410 . For this reason, the vendor development program 410 cannot directly specify one of these pieces of device information, but by specifying the device information instance 500, the vendor development program 410 can eventually determine the resolution of which device 20 to use. can be specified.

投影ライブラリ420の投影処理部422は、投影データ生成部423により、投影実行要求に含まれる機器情報インスタンス500から解像度を取得する(ステップS214)。すなわち、投影データ生成部423は、機器情報インスタンス500に保持されている機器情報のうち、フィールド名「解像度」の機器情報を取得する。投影データ生成部423は、機器情報クラス2100のメソッド宣言2107に定義されているメソッド「getResolution」を呼び出すことで、フィールド名「解像度」の機器情報を取得することができる。なお、投影処理部422を実現する投影処理クラス2400と、機器情報クラス2100とは同一のパッケージ「projectionlibrary」に属するため、投影データ生成部423は、メソッド「getResolution」を呼び出すことができる。 The projection processing unit 422 of the projection library 420 uses the projection data generation unit 423 to acquire the resolution from the device information instance 500 included in the projection execution request (step S214). That is, the projection data generation unit 423 acquires the device information with the field name “resolution” from among the device information held in the device information instance 500 . The projection data generation unit 423 can acquire the device information with the field name “resolution” by calling the method “getResolution” defined in the method declaration 2107 of the device information class 2100 . Since the projection processing class 2400 that implements the projection processing unit 422 and the device information class 2100 belong to the same package “projectionlibrary”, the projection data generation unit 423 can call the method “getResolution”.

次に、投影ライブラリ420の投影処理部422は、投影データ生成部423により、投影実行要求に含まれる投影設定情報インスタンス600から投影設定情報を取得する(ステップS215)。すなわち、投影データ生成部423は、投影設定情報インスタンス600に保持されている投影設定情報を取得する。投影データ生成部423は、投影設定情報クラス2200のメソッド宣言2203に定義されているメソッド「getSwitch」を呼び出すことで、フィールド名「切替方法」の投影設定情報を取得することができる。 Next, the projection processing unit 422 of the projection library 420 acquires the projection setting information from the projection setting information instance 600 included in the projection execution request by the projection data generation unit 423 (step S215). That is, the projection data generator 423 acquires projection setting information held in the projection setting information instance 600 . The projection data generation unit 423 can acquire the projection setting information with the field name “switching method” by calling the method “getSwitch” defined in the method declaration 2203 of the projection setting information class 2200 .

次に、投影ライブラリ420の投影処理部422は、投影データ生成部423により、投影データを生成する(ステップS216)。すなわち、投影データ生成部423は、上記のステップS214で取得された解像度を用いて、投影対象データから投影データを生成する。このとき、投影データ生成部423は、例えば、当該投影対象データを、上記のステップS214で取得された解像度に変換することで、投影データを生成する。 Next, the projection processing unit 422 of the projection library 420 uses the projection data generation unit 423 to generate projection data (step S216). That is, the projection data generation unit 423 generates projection data from the projection target data using the resolution acquired in step S214. At this time, the projection data generation unit 423 generates projection data by, for example, converting the projection target data into the resolution acquired in step S214.

次に、投影ライブラリ420の投影処理部422は、図14のステップS117と同様に、投影要求部424により、投影実行要求に含まれる機器情報インスタンス500からネットワーク情報を取得する(ステップS217)。 Next, the projection processing unit 422 of the projection library 420 acquires the network information from the device information instance 500 included in the projection execution request by the projection request unit 424, as in step S117 of FIG. 14 (step S217).

次に、投影ライブラリ420の投影処理部422は、図14のステップS118と同様に、投影要求部424により、上記のステップS217で取得されたネットワーク情報に基づいて、機器20との通信可否を判定する(ステップS218)。 Next, the projection processing unit 422 of the projection library 420 determines whether communication with the device 20 is possible based on the network information acquired in step S217 by the projection requesting unit 424, as in step S118 of FIG. (step S218).

ステップS218において、機器20と通信可能であると判定された場合、投影ライブラリ420の投影処理部422は、図14のステップS119と同様に、投影要求部424により、投影実行要求に含まれる機器情報インスタンス500からIPアドレスを取得する(ステップS219)。 In step S218, if it is determined that communication with the device 20 is possible, the projection processing unit 422 of the projection library 420 causes the projection request unit 424 to transmit the device information included in the projection execution request, as in step S119 of FIG. An IP address is obtained from the instance 500 (step S219).

次に、投影ライブラリ420の投影処理部422は、投影要求部424により、投影要求を機器20に送信する(ステップS420)。すなわち、投影要求部424は、例えばWi-Fi等の無線LANにより、上記のステップS219で取得されたIPアドレス宛に投影要求を送信する。投影要求には、上記のステップS216で生成された投影データが含まれる。これにより、投影要求を受信した機器20で投影データが示す画像の投影が行われ、投影結果が返信される。 Next, the projection processing unit 422 of the projection library 420 causes the projection request unit 424 to transmit a projection request to the device 20 (step S420). That is, the projection request unit 424 transmits a projection request to the IP address obtained in step S219 above, for example, via a wireless LAN such as Wi-Fi. The projection request includes the projection data generated in step S216 above. As a result, the device 20 that has received the projection request projects the image indicated by the projection data, and returns the projection result.

一方で、ステップS218において、機器20と通信可能でないと判定された場合、投影ライブラリ420の投影処理部422は、投影要求部424により、ベンダ開発プログラム410にエラーを返信する。これにより、例えば、投影を行うことができないことを示すエラー画面が表示装置12上に表示される。 On the other hand, if it is determined in step S218 that communication with the device 20 is not possible, the projection processing unit 422 of the projection library 420 returns an error to the vendor development program 410 via the projection request unit 424. FIG. As a result, for example, an error screen indicating that projection cannot be performed is displayed on the display device 12 .

<第二の実施形態のまとめ>
以上のように、本実施形態に係る投影システム2では、プロジェクタである機器20の製造元企業が提供する投影ライブラリ420により管理される各種情報について、サードベンダにより開発されたベンダ開発プログラム410が読み取りや書き換えを制限することができる。これにより、本実施形態に係る投影システム2では、投影ライブラリ420により管理される各種情報について、ベンダ開発プログラム410により不正に書き換えられてしまったり、不要な情報が参照されてしまったりといった事態を防止することができる。
<Summary of Second Embodiment>
As described above, in the projection system 2 according to the present embodiment, various information managed by the projection library 420 provided by the manufacturer of the device 20, which is a projector, can be read by the vendor development program 410 developed by the third vendor. Rewriting can be restricted. As a result, in the projection system 2 according to the present embodiment, various kinds of information managed by the projection library 420 are prevented from being illegally rewritten by the vendor development program 410 or unnecessary information is referred to. can do.

また、本実施形態に係る投影システム2では、ベンダ開発プログラム410による情報の書き換えを制限することで、機器20の意図しない動作等を防止することができる。 Further, in the projection system 2 according to the present embodiment, by restricting rewriting of information by the vendor development program 410, unintended operations of the device 20 can be prevented.

[第三の実施形態]
次に、第三の実施形態について説明する。第一の実施形態及び第二の実施形態では、実行可能形式のアプリケーション(印刷アプリケーション100又は投影アプリケーション400)が端末装置10にインストールされているものとして説明したが、当該アプリケーションはプログラムコードが定義されたソースファイルをコンパイル等することで作成される。そこで、第三の実施形態では、例えばPC(パーソナルコンピュータ等)である開発用端末30が、ソースファイルをコンパイルすることで、実行可能形式(例えば、Javaバイトコード)のアプリケーション(印刷アプリケーション100又は投影アプリケーション400)を作成する場合について説明する。以降では、印刷アプリケーション100又は投影アプリケーション400を「アプリケーション700」と表す。
[Third embodiment]
Next, a third embodiment will be described. In the first and second embodiments, an executable application (the printing application 100 or the projection application 400) is installed in the terminal device 10, but the application has defined program code. It is created by compiling the source file. Therefore, in the third embodiment, the development terminal 30, which is, for example, a PC (personal computer, etc.), compiles the source file to create an executable (for example, Java bytecode) application (printing application 100 or projection application). A case of creating an application 400) will be described. Hereinafter, the print application 100 or the projection application 400 will be referred to as an "application 700".

なお、第三の実施形態では、主に、第一の実施形態及び第二の実施形態との相違点について説明し、第一の実施形態及び第二の実施形態と同様の構成要素については、適宜、その説明を省略又は簡略化する。 In addition, in the third embodiment, mainly the differences from the first embodiment and the second embodiment are explained, and the same components as the first embodiment and the second embodiment are The description is omitted or simplified as appropriate.

<機能構成>
まず、本実施形態に係る開発用端末30の機能構成について、図28を参照しながら説明する。図28は、第三の実施形態に係る開発用端末30の機能構成の一例を示す図である。
<Functional configuration>
First, the functional configuration of the development terminal 30 according to this embodiment will be described with reference to FIG. FIG. 28 is a diagram showing an example of the functional configuration of the development terminal 30 according to the third embodiment.

図28に示すように、本実施形態に係る開発用端末30は、コンパイル処理部800を有する。当該機能部は、開発用端末30にインストールされた1以上のプログラムがCPUに実行させる処理により実現される。 As shown in FIG. 28, the development terminal 30 according to this embodiment has a compilation processing section 800 . The functional unit is implemented by processing that one or more programs installed in the development terminal 30 cause the CPU to execute.

また、本実施形態に係る開発用端末30は、記憶部900を有する。当該記憶部は、例えば、HDDやSSD等の補助記憶装置を用いて実現可能である。なお、当該記憶部は、開発用端末30とネットワークを介して接続される記憶装置等を用いて実現されていても良い。 Further, the development terminal 30 according to this embodiment has a storage unit 900 . The storage unit can be implemented using, for example, an auxiliary storage device such as an HDD or SSD. Note that the storage unit may be implemented using a storage device or the like connected to the development terminal 30 via a network.

記憶部900には、ソースファイル910と、ライブラリ920とが記憶されている。ソースファイル910は、作成対象のアプリケーション700が印刷アプリケーション100である場合はベンダ開発プログラム110のソースコードが記述されたファイルであり、作成対象のアプリケーション700が投影アプリケーション400である場合はベンダ開発プログラム410のソースコードが記述されたファイルである。また、ライブラリ920は、作成対象のアプリケーション700が印刷アプリケーション100である場合は印刷ライブラリ120であり、作成対象のアプリケーション700が投影アプリケーション400である場合は投影ライブラリ420である。 A source file 910 and a library 920 are stored in the storage unit 900 . The source file 910 is a file describing the source code of the vendor development program 110 when the application 700 to be created is the printing application 100, and the vendor development program 410 when the application 700 to be created is the projection application 400. It is a file that describes the source code of The library 920 is the printing library 120 when the application 700 to be created is the printing application 100 , and is the projection library 420 when the application 700 to be created is the projection application 400 .

なお、ライブラリ920は、例えば、当該ライブラリ920に定義されているAPI(メソッド)の利用方法(例えば、引数の指定方法)等が記載されたマニュアルと共に、機器20の製造元企業等から配布される。 The library 920 is distributed by the manufacturer of the device 20, for example, together with a manual describing how to use APIs (methods) defined in the library 920 (for example, how to specify arguments).

コンパイル処理部800は、ソースファイル910とライブラリ920とを入力して、ソースファイル910をコンパイル(より正確には、ソースファイル910及びライブラリ920をコンパイル)することで、実行可能形式のアプリケーション700を作成する。このとき、コンパイル処理部800は、呼び出し対象のメソッドと、このメソッドの呼び出し元のクラスとの間でアクセス関係が正常に定義されているか否かを判定する。 Compile processing unit 800 receives source file 910 and library 920 and compiles source file 910 (more precisely, compiles source file 910 and library 920) to create executable application 700. do. At this time, the compilation processing unit 800 determines whether or not the access relationship is normally defined between the method to be called and the class that called this method.

すなわち、コンパイル処理部800は、呼び出し対象のメソッドが定義されたクラスと、当該メソッドの呼び出し元のクラスとが同一のパッケージに属するか否かを判定する。また、コンパイル処理部800は、これらのクラスが同一のパッケージに属しないと判定された場合に、当該メソッドに対してアクセス識別子「public」が定義されているか否かを判定する。 That is, the compile processing unit 800 determines whether the class in which the method to be called is defined and the class from which the method is called belong to the same package. Also, when it is determined that these classes do not belong to the same package, the compilation processing unit 800 determines whether an access identifier "public" is defined for the method.

そして、コンパイル処理部800は、ソースファイル910の全てのメソッドに対してアクセス関係が正常に定義されていると判定した場合、ソースファイル910をコンパイルして、実行可能形式のアプリケーション700を作成する。一方で、コンパイル処理部800は、少なくとも1つのメソッドに対してアクセス関係が正常に定義されていないと判定した場合、例えばエラー画面等を表示する。 Then, when the compile processing unit 800 determines that the access relationships are normally defined for all the methods of the source file 910 , it compiles the source file 910 to create the executable application 700 . On the other hand, when the compile processing unit 800 determines that the access relationship is not normally defined for at least one method, it displays an error screen, for example.

<コンパイル処理>
次に、本実施形態に係る開発用端末30が実行するコンパイル処理について説明する。以降では、開発用端末30のユーザ(例えばサードベンダ等のアプリ開発者)が、ソースファイル910をコンパイルして、実行可能形式のアプリケーション700を作成する処理について、図29を参照しながら説明する。図29は、第三の実施形態に係るコンパイル処理の一例を示すフローチャートである。図29に示す処理は、例えば、開発用端末30のユーザによる操作(ソースファイル910のコンパイル開始操作)に応じてソースファイル910及びライブラリ920がコンパイル処理部800に入力されることで実行が開始され、当該ソースファイル910に定義されたメソッドの呼び出し処理を示すコード毎に繰り返し実行される。
<Compile processing>
Next, the compilation process executed by the development terminal 30 according to this embodiment will be described. Hereinafter, a process in which a user of the development terminal 30 (for example, an application developer such as a third vendor) compiles the source file 910 to create the executable application 700 will be described with reference to FIG. FIG. 29 is a flowchart showing an example of compilation processing according to the third embodiment. The processing shown in FIG. 29 is started when the source file 910 and the library 920 are input to the compile processing unit 800 in response to an operation by the user of the development terminal 30 (operation to start compiling the source file 910). , is repeatedly executed for each code indicating the method calling process defined in the source file 910 .

まず、コンパイル処理部800は、当該コードに定義された呼び出し対象のメソッドのクラスが、呼び出し元のクラスと同一パッケージであるか否かを判定する(ステップS301)。 First, the compilation processing unit 800 determines whether or not the class of the method to be called defined in the code is in the same package as the caller class (step S301).

ステップS301において、呼び出し対象のメソッドのクラスが、呼び出し元のクラスと同一パッケージでないと判定した場合、コンパイル処理部800は、当該メソッドに対して、アクセス修飾子「public」が定義されているか否かを判定する(ステップS302)。 If it is determined in step S301 that the class of the method to be called is not in the same package as the class of the caller, the compilation processing unit 800 determines whether the access modifier "public" is defined for the method. is determined (step S302).

ステップS301において、呼び出し対象のメソッドのクラスが、呼び出し元のクラスと同一パッケージであると判定した場合、又は、ステップS302において、当該メソッドに対して、アクセス修飾子「public」が定義されていると判定された場合、コンパイル処理部800は、当該メソッドのアクセス関係が正常に定義されていると判定する(ステップS303)。 If it is determined in step S301 that the class of the method to be called is in the same package as the calling class, or if the access modifier "public" is defined for the method in step S302. When determined, the compilation processing unit 800 determines that the access relationship of the method is normally defined (step S303).

一方で、ステップS302において、当該メソッドに対して、アクセス修飾子「public」が定義されていないと判定された場合、コンパイル処理部800は、当該メソッドのアクセス関係が正常に定義されていない(エラーである)と判定する(ステップS304)。この場合、コンパイル処理部800は、例えば、ソースファイル910中に定義されたメソッドのアクセス関係が正常でないことを示すエラー画面を表示させて、コンパイル処理を終了させる。 On the other hand, if it is determined in step S302 that the access modifier "public" is not defined for the method, the compilation processing unit 800 determines that the access relationship of the method is not properly defined (error (step S304). In this case, the compilation processing unit 800 displays an error screen indicating that the access relationship of the methods defined in the source file 910 is not normal, and terminates the compilation processing.

他方、ソースファイル910中の全てのメソッドに対してアクセス関係が正常に定義されていると判定された場合、コンパイル処理部800は、当該ソースファイル910及びライブラリ920をコンパイルして、実行可能形式のアプリケーション700を作成する(ステップS305)。これにより、ライブラリ920により管理される各種情報について、ベンダ開発プログラム110又はベンダ開発プログラム410による操作を制限したアプリケーション700(印刷アプリケーション100又は投影アプリケーション400)が作成される。なお、より正確には、ソースファイル910及びライブラリ920をそれぞれコンパイルすることで作成されるオブジェクトファイルのリンク等が行われることで、当該アプリケーション700が作成される。 On the other hand, if it is determined that the access relationships are normally defined for all the methods in the source file 910, the compile processing unit 800 compiles the source file 910 and the library 920 into an executable format. An application 700 is created (step S305). As a result, an application 700 (printing application 100 or projection application 400) is created in which operations by the vendor development program 110 or the vendor development program 410 are restricted for various information managed by the library 920. FIG. More precisely, the application 700 is created by linking object files created by compiling the source file 910 and the library 920 respectively.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The invention is not limited to the specifically disclosed embodiments above, but various modifications and changes are possible without departing from the scope of the claims.

1 印刷システム
10 端末装置
20 機器
100 印刷アプリケーション
110 ベンダ開発プログラム
111 機器情報取得要求部
112 表示制御部
113 印刷対象データ設定部
114 印刷設定部
115 実行操作受付部
116 印刷実行要求部
120 印刷ライブラリ
121 機器情報取得部
122 印刷処理部
123 印刷データ生成部
124 印刷要求部
200 機器情報インスタンス
300 印刷設定情報インスタンス
1 printing system 10 terminal device 20 device 100 print application 110 vendor development program 111 device information acquisition request unit 112 display control unit 113 print target data setting unit 114 print setting unit 115 execution operation reception unit 116 print execution request unit 120 print library 121 device Information acquisition unit 122 print processing unit 123 print data generation unit 124 print request unit 200 device information instance 300 print setting information instance

特開2013-152743号公報JP 2013-152743 A

Claims (12)

所定の機能を提供するプログラムを有する情報処理装置であって、
前記プログラムからの第1の要求に応じて、前記情報処理装置と接続される機器から所定の情報を含む情報を取得する取得部と、
前記取得部により取得された情報を、前記プログラムと異なるパッケージに属するクラスであって、前記所定の情報を更新または参照するためのアクセス修飾子が定義されていないクラスにすることで、前記所定の情報に対して、前記プログラムにより更新または参照の要求ができないように制限する要求制御部と、
前記プログラムからの第2の要求に応じて、前記取得部が取得した前記情報であって前記要求制御部によって前記プログラムからの要求が制限される前記所定の情報に基づいて、前記機器に対して、前記第2の要求に対応する処理の実行を要求する処理要求部と、
を有することを特徴とする情報処理装置。
An information processing device having a program that provides a predetermined function,
an acquisition unit that acquires information including predetermined information from a device connected to the information processing device in response to a first request from the program;
By converting the information acquired by the acquisition unit into a class belonging to a package different from the program and having no defined access modifier for updating or referring to the predetermined information, a request control unit that restricts the program from requesting updates or references to information;
In response to a second request from the program, based on the predetermined information, which is the information acquired by the acquisition unit and the request from the program is restricted by the request control unit, to the device , a processing request unit that requests execution of processing corresponding to the second request;
An information processing device comprising:
前記プログラムは、Java言語で記述されたプログラムであり、
前記要求制御部は、
前記取得部により取得された情報を、前記所定の情報を更新するためのメソッドにアクセス修飾子が定義されていないクラスから生成されたインスタンスに設定することで、前記プログラムにより更新の要求ができないように制限する、ことを特徴とする請求項に記載の情報処理装置。
The program is a program written in Java language,
The request control unit
By setting the information acquired by the acquisition unit to an instance generated from a class in which an access modifier is not defined in a method for updating the predetermined information, the program cannot request update. 2. The information processing apparatus according to claim 1 , wherein the limit is set to .
前記プログラムは、Java言語で記述されたプログラムであり、
前記要求制御部は、
前記取得部により取得された情報を、前記所定の情報を参照するためのメソッドにアクセス修飾子が定義されていないクラスから生成されたインスタンスに設定することで、前記プログラムにより参照の要求ができないように制限する、ことを特徴とする請求項に記載の情報処理装置。
The program is a program written in Java language,
The request control unit
By setting the information acquired by the acquisition unit to an instance generated from a class in which an access modifier is not defined in a method for referring to the predetermined information, the program cannot request a reference. 2. The information processing apparatus according to claim 1 , wherein the limit is set to .
前記取得部により取得された複数の情報を一の識別情報と対応付けて記憶する記憶制御部を有し、
前記処理要求部は、
前記プログラムからの前記識別情報を含む第2の要求に応じて、前記識別情報に対応付けられた前記複数の情報のうち、前記要求制御部によって要求が制限される前記所定の情報に基づいて、前記機器に対して前記第2の要求に対応する処理の実行を要求する、ことを特徴とする請求項1に記載の情報処理装置。
a storage control unit that stores a plurality of pieces of information acquired by the acquisition unit in association with one piece of identification information;
The processing request unit is
In response to a second request including the identification information from the program, based on the predetermined information for which the request is restricted by the request control unit, among the plurality of pieces of information associated with the identification information, 2. The information processing apparatus according to claim 1, wherein the device is requested to execute a process corresponding to the second request.
前記機器は、少なくとも印刷処理を実行可能な画像処理装置であり、
前記処理要求部は、
前記プログラムからの第2の要求に応じて、前記要求制御部によって要求が制限される前記所定の情報に基づいて、前記機器に対して、前記印刷処理の実行を要求する、ことを特徴とする請求項1に記載の情報処理装置。
the device is an image processing device capable of executing at least print processing;
The processing request unit is
requesting the device to execute the printing process in response to a second request from the program, based on the predetermined information for which requests are restricted by the request control unit. The information processing device according to claim 1 .
前記取得部により取得された情報には、前記機器のIPアドレスと、ネットワーク情報とが少なくとも含まれる、ことを特徴とする請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein the information acquired by said acquisition unit includes at least an IP address of said device and network information. 前記プログラムは、前記機器の製造元企業とは異なるサードベンダにより開発されたプログラムである、ことを特徴とする請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein said program is a program developed by a third vendor different from a manufacturer of said device. 前記取得部と前記処理要求部とは、前記プログラムとは異なるプログラムによって実行される、ことを特徴とする請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein said acquisition unit and said processing request unit are executed by a program different from said program. 前記要求制御部は、
前記プログラムから前記所定の情報に対する要求を受け付けない制御を行い、
前記処理要求部から前記所定の情報に対する要求を受け付ける制御を行う、ことを特徴とする請求項に記載の情報処理装置。
The request control unit
performing control not to accept a request for the predetermined information from the program;
9. The information processing apparatus according to claim 8 , wherein control is performed to receive a request for said predetermined information from said processing request unit.
所定の機能を提供するプログラムを有する情報処理装置に、
前記プログラムからの第1の要求に応じて、前記情報処理装置と接続される機器から所定の情報を含む情報を取得する取得手順と、
前記取得手順により取得された情報を、前記プログラムと異なるパッケージに属するクラスであって、前記所定の情報を更新または参照するためのアクセス修飾子が定義されていないクラスにすることで、前記所定の情報に対して、前記プログラムにより更新または参照の要求ができないように制限する要求制御手順と、
前記プログラムからの第2の要求に応じて、前記取得手順が取得した前記情報であって前記プログラムからの要求が制限される前記所定の情報に基づいて、前記機器に対して、前記第2の要求に対応する処理の実行を要求する処理要求手順と、
を実行させるためのプログラム。
An information processing device having a program that provides a predetermined function,
an acquisition procedure for acquiring information including predetermined information from a device connected to the information processing device in response to a first request from the program;
By making the information acquired by the acquisition procedure a class belonging to a package different from the program and having no defined access modifier for updating or referring to the prescribed information, a request control procedure for restricting information from being requested to be updated or referenced by the program;
In response to a second request from the program, based on the predetermined information, which is the information acquired by the acquisition procedure and for which requests from the program are restricted, the second request is sent to the device. a process request procedure that requests execution of a process corresponding to the request;
program to run the
所定の機能を提供するプログラムを有する情報処理装置と、所定の画像処理を実行可能な画像処理装置とを有する情報処理システムであって、
前記プログラムからの第1の要求に応じて、前記画像処理装置から所定の情報を含む情報を取得する取得部と、
前記取得部により取得された情報を、前記プログラムと異なるパッケージに属するクラスであって、前記所定の情報を更新または参照するためのアクセス修飾子が定義されていないクラスにすることで、前記所定の情報に対して、前記プログラムにより更新または参照の要求ができないように制限する要求制御部と、
前記プログラムからの第2の要求に応じて、前記取得部が取得した前記情報であって前記要求制御部によって前記プログラムからの要求が制限される前記所定の情報に基づいて、前記画像処理装置に対して、前記第2の要求に対応する処理の実行を要求する処理要求部と、
を有することを特徴とする情報処理システム。
An information processing system including an information processing device having a program that provides a predetermined function and an image processing device capable of executing predetermined image processing,
an acquisition unit that acquires information including predetermined information from the image processing device in response to a first request from the program;
By converting the information acquired by the acquisition unit into a class belonging to a package different from the program and having no defined access modifier for updating or referring to the predetermined information, a request control unit that restricts the program from requesting updates or references to information;
In response to a second request from the program, based on the predetermined information, which is the information acquired by the acquisition unit and the request from the program is restricted by the request control unit, the image processing apparatus a processing request unit for requesting execution of processing corresponding to the second request;
An information processing system characterized by having:
所定の機能を提供するプログラムを有する情報処理装置が実行する情報処理方法であって、
前記プログラムからの第1の要求に応じて、前記情報処理装置と接続される機器から所定の情報を含む情報を取得する取得手順と、
前記取手順により取得された情報を、前記プログラムと異なるパッケージに属するクラスであって、前記所定の情報を更新または参照するためのアクセス修飾子が定義されていないクラスにすることで、前記所定の情報に対して、前記プログラムにより更新または参照の要求ができないように制限する要求制御手順と、
前記プログラムからの第2の要求に応じて、前記取得手順が取得した前記情報であって前記要求制御手順によって前記プログラムからの要求が制限される前記所定の情報に基づいて、前記機器に対して、前記第2の要求に対応する処理の実行を要求する処理要求手順と、
を有することを特徴とする情報処理方法。
An information processing method executed by an information processing device having a program that provides a predetermined function,
an acquisition procedure for acquiring information including predetermined information from a device connected to the information processing device in response to a first request from the program;
By converting the information acquired by the acquisition procedure into a class belonging to a package different from the program and having no defined access modifier for updating or referring to the prescribed information, a request control procedure that restricts the program from requesting updates or references to the information of
in response to a second request from the program, to the device based on the predetermined information, which is the information acquired by the acquisition procedure and for which requests from the program are restricted by the request control procedure; , a process request procedure for requesting execution of a process corresponding to the second request;
An information processing method characterized by having
JP2018138043A 2017-09-28 2018-07-23 Information processing device, program, information processing system and information processing method Active JP7243064B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/142,323 US10389901B2 (en) 2017-09-28 2018-09-26 Information processing device, information processing system, and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017189192 2017-09-28
JP2017189192 2017-09-28

Publications (2)

Publication Number Publication Date
JP2019067367A JP2019067367A (en) 2019-04-25
JP7243064B2 true JP7243064B2 (en) 2023-03-22

Family

ID=66337878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018138043A Active JP7243064B2 (en) 2017-09-28 2018-07-23 Information processing device, program, information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP7243064B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148424A (en) 1998-11-13 2000-05-30 Nec Corp Network print system, and printer and client device used in same system
JP2001159962A (en) 1999-12-01 2001-06-12 Seiko Epson Corp Printing system and printing setting device
JP2009099093A (en) 2007-10-19 2009-05-07 Brother Ind Ltd Management program, information processor and information processing system
JP2011242946A (en) 2010-05-17 2011-12-01 Brother Ind Ltd Image formation control program, image formation program, and data structure of image formation setting information
JP2017033052A (en) 2015-07-29 2017-02-09 キヤノン株式会社 Control device and program in image forming apparatus
JP2017112618A (en) 2016-12-27 2017-06-22 キヤノン株式会社 Information processing apparatus, method of controlling the same, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148424A (en) 1998-11-13 2000-05-30 Nec Corp Network print system, and printer and client device used in same system
JP2001159962A (en) 1999-12-01 2001-06-12 Seiko Epson Corp Printing system and printing setting device
JP2009099093A (en) 2007-10-19 2009-05-07 Brother Ind Ltd Management program, information processor and information processing system
JP2011242946A (en) 2010-05-17 2011-12-01 Brother Ind Ltd Image formation control program, image formation program, and data structure of image formation setting information
JP2017033052A (en) 2015-07-29 2017-02-09 キヤノン株式会社 Control device and program in image forming apparatus
JP2017112618A (en) 2016-12-27 2017-06-22 キヤノン株式会社 Information processing apparatus, method of controlling the same, and program

Also Published As

Publication number Publication date
JP2019067367A (en) 2019-04-25

Similar Documents

Publication Publication Date Title
US10275192B2 (en) Information processing apparatus, image processing system, and printer driver
CN109327641B (en) Information processing system, information processing apparatus, and control method thereof
JP6311352B2 (en) Information processing apparatus, control method, program, and information processing system
JP6255749B2 (en) Service providing system, service providing method, information storage device, operation terminal, and program
JP2011141683A (en) Image processing apparatus, display device, authentication system, display control method, display control program and recording medium recording the same
JP2006148876A (en) Image formation apparatus, information processing method, information processing program, and recording medium
JP6787115B2 (en) Image forming device, function addition method, program,
JP2009054027A (en) Information processor, display screen customizing method, and display screen customizing program
US20150082222A1 (en) Information processing program product, information processing apparatus, and information processing system
JP2008041057A (en) Image processor, image forming apparatus, program management method, and management program for managing same program
JP2008147961A (en) Image forming apparatus, screen managing method and screen management program
JP6044143B2 (en) Service providing system and service providing method
JP2013191196A (en) Information processing device, apparatus, information processing system, information processing method, and information processing program
JP2012161076A (en) System and method for enabling network access to mass storage devices connected to multi-function devices
JP2005293407A (en) Information processor, input operation simplification method and program
RU2604515C2 (en) Electronic device, information processing system, information managing apparatus, information processing method and information processing program
KR20190088292A (en) Controlling apps providing same or similar services in an image forming apparatus supporting multiple platforms
US10389901B2 (en) Information processing device, information processing system, and information processing method
JP7243064B2 (en) Information processing device, program, information processing system and information processing method
JP2017062835A (en) Output system, application, and information processing device
JP2010191521A (en) Information processing apparatus, program, and computer-readable recording medium
JP2007122348A (en) Image forming apparatus, security management method, security management program and recording medium
US11436299B2 (en) Information processing system, server apparatus, and information processing method
JP2015055927A (en) Apparatus management device, apparatus management system, apparatus management method, and program
US10863044B2 (en) Information processing apparatus, information processing system, and method of processing information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230220

R151 Written notification of patent or utility model registration

Ref document number: 7243064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151