JP5387221B2 - Information processing apparatus, information processing method, and information processing program - Google Patents
Information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP5387221B2 JP5387221B2 JP2009186748A JP2009186748A JP5387221B2 JP 5387221 B2 JP5387221 B2 JP 5387221B2 JP 2009186748 A JP2009186748 A JP 2009186748A JP 2009186748 A JP2009186748 A JP 2009186748A JP 5387221 B2 JP5387221 B2 JP 5387221B2
- Authority
- JP
- Japan
- Prior art keywords
- operation panel
- information
- information processing
- difference
- application
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
- User Interface Of Digital Computer (AREA)
Description
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関し、特にプログラムの実行環境を有する情報処理装置、情報処理方法、及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program, and more particularly, to an information processing device, an information processing method, and an information processing program having a program execution environment.
近年、主として複合機又は融合機と呼ばれる画像形成装置においては、公開されたAPIを備えたアプリケーションプラットフォーム(アプリケーション実行環境)が搭載されている。したがって、画像形成装置のメーカー以外のサードベンダ等によって開発されたアプリケーションも画像形成装置上で利用することが可能である。 2. Description of the Related Art In recent years, application platforms (application execution environments) equipped with public APIs are mounted on image forming apparatuses called mainly multifunction peripherals or multifunction peripherals. Therefore, an application developed by a third vendor other than the manufacturer of the image forming apparatus can also be used on the image forming apparatus.
斯かるアプリケーションプラットフォームが提供するAPIは、画像形成装置の機種に対して独立していることが望ましい。すなわち、機種A上のアプリケーションプラットフォームAと、機種B上のアプリケーションプラットフォームBとではAPIが共通していることが望ましい。APIが共通していることにより、APIを利用して動作するアプリケーションは、機種の違いに対する互換性を確保することができるからである。 It is desirable that the API provided by such an application platform is independent of the model of the image forming apparatus. That is, it is desirable that the application platform A on the model A and the application platform B on the model B have the same API. This is because, by sharing the API, applications that operate using the API can ensure compatibility with different models.
しかし、機種間におけるハードウェア構成の違いがAPIの違い(APIの非互換部分)となって現れてしまうことが避けられない場合がある。特に、操作パネルの構成の違いは、APIに与える影響が大きい。操作パネルが備える液晶パネルの表示能力の違いに応じて表示可能な表示要素が異なる場合があるからである。 However, it may be unavoidable that a difference in hardware configuration between models appears as a difference in API (incompatible part of API). In particular, the difference in the configuration of the operation panel has a great influence on the API. This is because the display elements that can be displayed may differ depending on the difference in display capability of the liquid crystal panel included in the operation panel.
したがって、操作パネルの構成(主として液晶パネルの表示能力)が従来のものと大きく異なる画像形成装置上にアプリケーションプラットフォームを実装(移植)する場合、従来のアプリケーションプラットフォーム上で動作していたアプリケーションについても非互換部分に関する移植作業、又は新規にアプリケーションを作り直すための作業が必要とされる。 Therefore, when an application platform is mounted (ported) on an image forming apparatus whose operation panel configuration (mainly the display capability of the liquid crystal panel) is significantly different from that of the conventional one, the application running on the conventional application platform is also non-existent. Porting work for compatible parts or work for recreating a new application is required.
斯かるアプリケーション及びアプリケーションプラットフォームの開発作業に関して、リリース時期と開発期間との関係により、アプリケーションの開発及びテスト等が、当該アプリケーションプラットフォームの開発に先行して又は並行して行われる場合がある。 With regard to such application and application platform development work, depending on the relationship between the release time and the development period, application development and testing may be performed prior to or in parallel with the development of the application platform.
そのような場合、従来においては、アプリケーションプラットフォームの振る舞いを模したスタブと呼ばれるプログラムを利用してアプリケーションの開発が行われていた。 In such a case, conventionally, an application has been developed using a program called a stub that imitates the behavior of the application platform.
しかしながら、スタブは全てのAPIに関して実際のアプリケーションプラットフォームの振る舞いを表面上模しているものである。したがって、従来のアプリケーションプラットフォームと新規なアプリケーションプラットフォームとの間で互換性の有る部分についても、スタブによって実行される処理は実際のアプリケーションプラットフォームとは異なる。斯かるスタブを利用したアプリケーションの開発が行われた場合、実際のアプリケーションプラットフォーム上における当該アプリケーションの評価(テスト)の段階において予期せぬ不具合が発生することが多く、開発効率が低下するという問題があった。 However, the stub is a superficial imitation of the actual application platform behavior for all APIs. Therefore, the processing executed by the stub is different from the actual application platform even for the compatible part between the conventional application platform and the new application platform. When an application is developed using such a stub, unexpected problems often occur at the evaluation (testing) stage of the application on the actual application platform, resulting in a problem that the development efficiency is lowered. there were.
本発明は、上記の点に鑑みてなされたものであって、プログラムの実行環境が整っていない場合におけるプログラムの開発作業を効率化することのできる情報処理装置、情報処理方法、及び情報処理プログラムの提供を目的とする。 The present invention has been made in view of the above points, and is an information processing apparatus, an information processing method, and an information processing program capable of improving the efficiency of program development when the program execution environment is not prepared The purpose is to provide.
そこで上記課題を解決するため、本発明は、情報処理装置であって、当該情報処理装置が備える第一の操作パネルと異なる種別の第二の操作パネルを有する第二の画像形成装置に対応したプログラムに対して、前記第二の画像形成装置が前記プログラムに提供する前記第二の操作パネルの制御用のインタフェースと同じインタフェースを提供し、該インタフェースの呼び出しに応じて、前記第一の操作パネルに対する制御を実行するラッパー手段を有し、前記ラッパー手段は、前記操作パネルの種別ごとに構成情報を記憶する構成情報記憶手段と、前記第一の操作パネルの第一の種別情報を当該情報処理装置より取得する装置情報取得手段と、前記プログラムが対応する前記第二の操作パネルの第二の種別情報を取得するアプリ情報取得手段と、前記第一の種別情報に係る前記構成情報と前記第二の種別情報に係る前記構成情報とを前記構成情報記憶手段より取得し、取得された前記構成情報の差分を判定する差分判定手段と、前記差分に含まれる構成要素を前記第一の操作パネルの表示領域に表示させる差分表示制御手段とを有する。 Therefore, in order to solve the above problem, the present invention is an information processing apparatus corresponding to a second image forming apparatus having a second operation panel of a type different from the first operation panel included in the information processing apparatus. The program provides the same interface as the control interface of the second operation panel provided to the program by the second image forming apparatus, and the first operation panel is provided in response to the call of the interface. Wrapper means for executing control on the configuration information, and the wrapper means stores configuration information for each type of the operation panel, and the first type information of the first operation panel as the information processing Device information acquisition means for acquiring from the device, and application information acquisition means for acquiring second type information of the second operation panel corresponding to the program A difference determination unit that acquires the configuration information related to the first type information and the configuration information related to the second type information from the configuration information storage unit, and determines a difference between the acquired configuration information; And difference display control means for displaying the constituent elements included in the difference in the display area of the first operation panel.
このような情報処理装置では、プログラムの実行環境が整っていない場合におけるプログラムの開発作業を効率化することができる。 In such an information processing apparatus, it is possible to improve the efficiency of program development work when the program execution environment is not prepared.
本発明によれば、プログラムの実行環境が整っていない場合におけるプログラムの開発作業を効率化することができる。 According to the present invention, it is possible to improve the efficiency of program development work when the program execution environment is not prepared.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a hardware configuration example of an image forming apparatus according to an embodiment of the present invention. 1, the
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
The controller 11 includes a
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、印刷データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段(表示領域)を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。
The
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ121、SDKアプリ122、SDKプラットフォーム123、コントロールサービス124、及びOS125等を有する。
FIG. 2 is a diagram illustrating a software configuration example of the image forming apparatus according to the embodiment of the present invention. In FIG. 1, the
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。印刷アプリ1212は印刷ジョブを実行する。コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
The
コントロールサービス124は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、メモリの管理機能等を有する。
The
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、SDKアプリ122として、アプリA1221、アプリB1222、アプリC1223、及びラッパーモジュール1224が例示されている。各SDKアプリ122の本実施の形態における位置付けについては後述する。
The
SDKプラットフォーム123は、SDKアプリ122の実行環境を提供する、SDKアプリ122のアプリケーションプラットフォーム(プログラム実行手段)である。各SDKアプリ122は、SDKプラットフォーム123が提供するAPI(Application Program Interface)を利用して開発される。SDKプラットフォーム123のAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。APIとは、具体的には、関数又はメソッド等の集合である。また、広義においては、画像形成装置10において非同期に発生するイベント等をSDKアプリ122に通知するための仕組み等もAPIに含まれる。
The
同図において、SDKプラットフォーム123は、スキャンサービス部1231、印刷サービス部1232、及びパネルサービス部1233等を含む。スキャンサービス部1231は、画像形成装置10のスキャン機能に関する制御を行うためのインタフェース(API)をSDKアプリ122に提供する。印刷サービス部1232は、画像形成装置10の印刷機能に関する制御を行うためのインタフェースをSDKアプリ122に提供する。パネルサービス部1233は、操作パネル15に関する制御を行うためのインタフェースをSDKアプリ122に提供する。なお、実際は、他の多様なインタフェースもSDKプラットフォーム123によって提供されるが、本実施の形態ではその説明は便宜上省略する。
In the figure, the
OS125は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS125上においてプロセス又はスレッドとして動作する。
The
図2において例示されている各SDKアプリ122の位置付けについて説明する。前提として、本実施の形態における画像形成装置10は、特定の機種に属する画像形成装置であるとする。アプリA1221及びアプリB1222は、画像形成装置10が属する機種(画像形成装置10が属する機種用のSDKプラットフォーム123)に対応して開発されたSDKアプリ122の例示である。一方、アプリC1223は、画像形成装置10とは異なる機種の画像形成装置20(後に図示される。)のSDKプラットフォームに対応して開発中のSDKアプリ122の例示である。なお、アプリC1223は、特定の一つのSDKアプリ122を示すものではなく、開発中のSDKアプリ122全般を示す。
The positioning of each
本実施の形態において画像形成装置10と画像形成装置20とのSDKプラットフォームのAPIの間には非互換部分が存在する。ラッパーモジュール1224は、当該非互換部分を吸収するためのプログラムモジュールである。すなわち、ラッパーモジュール1224は、当該非互換部分について、画像形成装置20のSDKプラットフォームが提供するAPIと同じAPIをアプリC1223に対して提供する。
In the present embodiment, an incompatible portion exists between the SDK platform APIs of the
本実施の形態において、非互換部分とは、操作パネルの制御に関する部分である。すなわち、画像形成装置10の操作パネル15と画像形成装置20の操作パネルとは、その構成(種別)が異なる。
In the present embodiment, the incompatible part is a part related to control of the operation panel. That is, the
図3は、本実施の形態における操作パネルの構成例を示す図である。同図において、上側が画像形成装置10の操作パネル15を示し、下側が画像形成装置20の操作パネル25を示す。
FIG. 3 is a diagram showing a configuration example of the operation panel in the present embodiment. In the drawing, the upper side shows the
操作パネル15は、液晶パネル151、テンキー152、スタートキー153、クリアキー154等を備える。液晶パネル151は、操作パネル15における表示領域である。液晶パネル151の解像度は、例えばWVGA程度であり、各種のGUI(Graphical User Interface)を表示可能な能力を有する。また、液晶パネル151には、タッチパネルを備えている。したがって、液晶パネル151には、タッチパネルを介して操作可能な表示要素を含む各種の操作画面を表示可能である。テンキー152は、いわゆるテンキーである。スタートキー153は、ジョブの実行開始指示を受け付けるためのボタンである。クリアキー154は、ジョブの中断指示等を受け付けるためのボタンである。
The
一方、操作パネル25は、液晶パネル251、テンキー252、スタートキー253、及びクリアキー254に加え、e1〜e14で示される各種の構成要素(ボタン等)を備える。操作パネル25が操作パネル15に比較して多くのハード的な構成要素を有するのは、液晶パネル251の性能に起因する。すなわち、液晶パネル251は、タッチパネルを備えていない。また、液晶パネル251は、4行分の文字列等を表示可能な表示能力を有し、表示可能な表示要素は所定のボタンや文字列等に限られている。そのため、操作パネル25は、各種の動作モード等を設定するためのユーザインタフェースとしてe1〜e14で示される構成要素を有するのである。なお、テンキー252、スタートキー253、及びクリアキー254の用途及び機能は、操作パネル151のテンキー152、スタートキー153、クリアキー154と同様である。また、本実施の形態における液晶パネル151及び液晶パネル251の性能(表示能力、タッチパネルの有無等)はあくまでも例示であり、本発明の適用範囲を限定するものではない。液晶パネル151は、操作パネル25の全部、又は操作パネル25において操作パネル15との共通部分を除く部分をソフト的(仮想的)に再現可能な表示能力を有していればよい。
On the other hand, the
本実施の形態では、画像形成装置20に対して、SDKプラットフォーム123の移植が行われる場合を想定する。移植後のSDKプラットフォーム123は、図4に示されるような構成を有する。
In the present embodiment, it is assumed that the
図4は、異機種への移植後のSDKプラットフォームの構成例を示す図である。同図に示されるように、画像形成装置20におけるSDKプラットフォーム223は、スキャンサービス部2231、印刷サービス部2232、及び4行パネルサービス部2233等を含む予定である。スキャンサービス部2231は、画像形成装置20のスキャン機能に関する制御を行うためのインタフェース(API)をアプリC1223に提供する。印刷サービス部2232は、画像形成装置20の印刷機能に関する制御を行うためのインタフェースをアプリC1223に提供する。4行パネルサービス部2233は、操作パネル25に関する制御を行うためのインタフェースをアプリC1223に提供する。
FIG. 4 is a diagram illustrating a configuration example of the SDK platform after porting to a different model. As shown in the figure, the
画像形成装置20は、必ずしも複数の機能が実装された複合機でなくてもよい。例えば、プリンタ又はスキャナ等の単体の機能を実現する機器であってもよい。この場合、SDKプラットフォーム223は、スキャンサービス部2231又は印刷サービス部2232のいずれか一方を有していればよい。なお、複合機でなくてもよいのは画像形成装置10についても同様である。
The
SDKプラットフォーム223の移植が完了した場合、アプリC1223がSDKプラットフォーム223上においてどのように表示制御処理及び入力制御処理を実行するかについて説明する。
A description will be given of how the
図5は、移植後のSDKプラットフォーム上におけるアプリCによる表示制御の処理手順を説明するためのシーケンス図である。同図のシーケンスにおけるステップは、便宜上簡略化されている。 FIG. 5 is a sequence diagram for explaining a display control processing procedure by the application C on the post-transplant SDK platform. The steps in the sequence of the figure are simplified for convenience.
ステップS101において、アプリC1223は、ウィンドウの作成を4行パネルサービス部2233に対して要求する。ウィンドウの作成要求においては、当該ウィンドウの属性情報(サイズ等)も指定される。4行パネルサービス部2233は、当該要求に応じてウィンドウを作成する(S102)。厳密には、ウィンドウの管理データがメモリ内に作成される。したがって、この段階では表示は行われない。4行パネルサービス部2233は、作成されたウィンドウの識別子(ウィンドウID)をアプリC1223に返却する(S103)。
In
続いて、アプリC1223は、表示要素(ボタン等の表示部品)の作成を4行パネルサービス部2233に対して要求する(S104)。表示要素の作成要求においては、当該表示要素の属性情報(サイズ等)も指定される。4行パネルサービス部2233は、当該要求に応じて表示要素を作成する(S105)。厳密には、表示要素の管理データがメモリ内に作成される。4行パネルサービス部2233は、作成された表示要素の識別子(要素ID)をアプリC1223に返却する(S106)。その他にも表示要素を表示させる場合、ステップS104〜S106と同様の処理が繰り返される(S107〜S109)。
Subsequently, the
続いて、アプリC1223は、ウィンドウID及び要素IDを指定して、ウィンドウに対する表示要素の登録を4行パネルサービス部2233に要求する(S110)。4行パネルサービス部2233は、指定されたウィンドウIDに対応するウィンドウに対して、指定された要素IDに対応する表示要素を登録する(関連付ける)(S111)。4行パネルサービス部2233は、表示要素の登録処理の実行結果をアプリC1223に返却する(S112)。
Subsequently, the
続いて、アプリC1223は、ウィンドウIDを指定して、ウィンドウの表示を4行パネルサービス部2233に要求する(S113)。4行パネルサービス部2233は、指定されたウィンドウIDに対応するウィンドウの管理データ及び当該ウィンドウに登録されている表示要素の管理データに基づいて、液晶パネル251にウィンドウを表示させる(S114)。その結果、例えば図3に示されるような画面が液晶パネル251に表示される。続いて、4行パネルサービス部2233は、ウィンドウの表示処理の処理結果をアプリC1223に返却する(S115)。
Subsequently, the
また、図6は、移植後のSDKプラットフォーム上におけるアプリCによる入力制御の処理手順を説明するためのシーケンス図である。 FIG. 6 is a sequence diagram for explaining the processing procedure of the input control by the application C on the post-transplant SDK platform.
ユーザによって、操作パネル25上のいずれかのハードキーが押下されると、ハードキーの押下イベント(ハードキーの押下の通知情報)はSDKプラットフォーム223の4行パネルサービス部2233に通知される(S201)。イベントには、押下されたハードキーの識別子が含まれている。なお、ハードキーとは、ハード的な構成要素のうち、操作可能なものをいう。4行パネルサービス部2233は、液晶パネル251を現在占有しているアプリC1223に対して当該イベントを通知する(S202)。続いて、アプリC1223は、押下されたハードキーに応じた処理を実行し(S202)、必要に応じてSDKプラットフォーム223を呼び出す(S203)。例えば、液晶パネル25の表示内容を変更する場合は、4行パネルサービス部2233が呼び出される。この場合、図5の処理が実行される。または、スキャン条件を設定する場合は、スキャンサービス部2231が呼び出される。
When any hard key on the
なお、図5及び図6において、アプリC1223と4行パネルサービス部2233若しくはSDKプラットフォーム223との間の矢印が、SDKプラットフォーム223によって提供されているインタフェースを示す。
5 and 6, an arrow between the application C 1223 and the 4-row
SDKプラットフォーム223において、スキャンサービス部2231及び印刷サービス部2232は、画像形成装置10のSDKプラットフォーム123におけるスキャンサービス部1231又は印刷サービス部1232と共通のインタフェースを備える。一方、4行パネルサービス部2233のインタフェースは、操作パネル15と操作パネル25との構成の違いの影響を受けてパネルサービス部1233のインタフェースとは異なる。すなわち、SDKプラットフォーム223において、4行パネルサービス部2233のインタフェースがSDKプラットフォーム123に対する非互換部分に相当する。したがって、ラッパーモジュール1224は、当該非互換部分を吸収する。すなわち、ラッパーモジュール1224は、パネルサービス部1233が実装された画像形成装置10上(SDKプラットフォーム123上)において、4行パネルサービス部2233のインタフェースをアプリC1223に対して提供する。したがって、SDKプラットフォーム223に対応させて開発されているアプリC1223は、図7に示されるようにSDKプラットフォーム123を利用する。
In the
図7は、アプリCと移植前のSDKプラットフォームとの関係を示す図である。同図に示されるように、アプリC1223は、スキャンサービス部1231及び印刷サービス部1232については直接呼び出すことができる。スキャンサービス部1231及び印刷サービス部1232のインタフェースは、スキャンサービス部2231又は印刷サービス部2232のインタフェースと共通化されているからである。一方、アプリC1223は、パネルサービス部1233は直接呼び出すことはできない。アプリC1223は、4行パネルサービス部2233を呼び出すように実装されているからである。したがって、アプリC1223は、4行パネルサービス部2233と同一のインタフェースを提供するラッパーモジュール1224を呼び出す。ラッパーモジュール1224は、アプリC1223からの要求をパネルサービス部1233に対する要求に変換し、パネルサービス部1233を呼び出す。パネルサービス部1233は、ラッパーモジュール1224からの要求に応じて液晶パネル151に対する表示制御を実行する。これにより、アプリC1223が要求する表示内容が液晶パネル151上において実現される。
FIG. 7 is a diagram showing the relationship between the application C and the SDK platform before porting. As shown in the figure, the
なお、図4において4行パネルサービス部2233に付された点線、及び図7においてラッパーモジュール1224に付された点線は、4行パネルサービス部2233のインタフェースを表現している。
Note that the dotted line attached to the 4-row
続いて、ラッパーモジュール1224について詳しく説明する。図8は、本実施の形態におけるラッパーモジュールの構成例を示す図である。
Next, the
同図において、ラッパーモジュール1224は、操作画面表示部1224a、イベント処理部1224b、差分表示部1224c、差分判定部1224d、装置情報取得部1224e、アプリ情報取得部1224f、及びパネル構成情報記憶部1224g等を有する。
In the figure, a
操作画面表示部1224a及びイベント処理部1224bは、アプリC1223に対して4行パネルサービス部2233のインタフェースを提供する部分である。操作画面表示部1224aは、表示制御に関するインタフェースを提供する。イベント処理部1224bは、入力に応じたイベントの通知に関するインタフェースを提供する。
The operation
差分表示部1224cは、操作パネル15と操作パネル25との差分(相違部分)の表示制御を行う。具体的には、操作パネル25が有しており、操作パネル15が有していないハードキーをソフト的に液晶パネル151に表示させる。したがって、差分表示部1224cによって操作パネル25が有するハードキーの一部が操作パネル15に表示される。差分判定部1224dは、装置情報取得部1224eによって取得される情報、アプリ情報取得部1224fによって取得される情報、及びパネル構成情報記憶部1224gに記録されている情報に基づいて、ラッパーモジュール1224が動作している装置(画像形成装置10)が有する操作パネル(操作パネル15)と、アプリC1223が対応している操作パネル(操作パネル25)との差分を判定する。パネル構成情報記憶部1224gは、HDD114において、操作パネルの種別ごとに操作パネルの構成情報を記憶する記憶領域(例えば、ファイル)である。装置情報取得部1224eは、ラッパーモジュール1224が動作する画像形成装置10より操作パネル15の種別を示す情報(種別情報)を動的に取得する。アプリ情報取得部1224fは、ラッパーモジュール1224を利用して操作画面を表示させようとするアプリC1223が対応する操作パネルの種別情報を取得する。
The
以下、画像形成装置10上においてアプリC1223を動作させる際の処理手順について説明する。図9は、アプリCによるラッパーモジュールを用いた表示制御処理の処理手順を説明するためのシーケンス図である。同図において、アプリC1223とラッパーモジュール1224とのやりとりは、図5におけるアプリC1223と4行パネルサービス部2233とのやりとりと一致する。
Hereinafter, a processing procedure when the application C1223 is operated on the
ステップS301において、アプリC1223は、ウィンドウの作成をラッパーモジュール1224の操作画面表示部1224aに対して要求する。操作画面表示部1224aは、パネルサービス部1233のインタフェースに従ってウィンドウの作成要求をパネルサービス部1233に入力する(S302)。パネルサービス部1233は、当該要求に応じてウィンドウを作成する(S303)。厳密には、ウィンドウの管理データがメモリ内に作成される。したがって、この段階では表示は行われない。パネルサービス部1233は、作成されたウィンドウの識別子(ウィンドウID)を操作画面表示部1224aに返却する(S304)。続いて、操作画面表示部1224aは、ウィンドウIDをアプリC1223に返却する(S305)。但し、4行パネルサービス部2233のインタフェースに係るウィンドウIDと、パネルサービス部1233のインタフェースに係るウィンドウIDとのデータ形式が異なったり、ID体系が異なったりする場合、操作画面表示部1224aは、斯かる相違点を吸収するための変換を実行し、変換後のウィンドウIDをアプリC1223に返却する。斯かる変換は、後述される要素IDについても実行されうる。
In step S301, the
続いて、アプリC1223は、表示要素の作成を操作画面表示部1224aに対して要求する(S306)。操作画面表示部1224aは、当該表示要素が、パネルサービス部1233によって提供される表示要素と一対一に対応する場合、パネルサービス部1233のインタフェースに従って当該表示要素の作成要求をパネルサービス部1233に入力する(S307)。パネルサービス部1233は、当該要求に応じて表示要素を作成する(S308)。厳密には、表示要素の管理データがメモリ内に作成される。パネルサービス部1233は、作成された表示要素の識別子(表示要素ID)を操作画面表示部1224aに返却する(S309)。続いて、操作画面表示部1224aは、表示要素IDをアプリC1223に返却する(S310)。
Subsequently, the
更に表示要素を表示させる必要が有る場合、アプリC1223は、当該表示要素の作成を操作画面表示部1224aに対して要求する(S311)。当該表示要素が、パネルサービス部1233によって提供される表示要素と一対一に対応しない場合、操作画面表示部1224aは、当該表示要素又は当該表示要素の擬似的に表現する表示要素を表示させるためにパネルサービス部1233の複数のインタフェースを呼び出す。図9では、操作画面表示部1224aは、ステップS312及びS315において表示要素の作成をパネルサービス部1233に要求している。パネルサービス部1233は、それぞれの要求に応じて表示要素(表示要素の管理データ)を作成し(S313、S316)、各表示要素の要素IDを操作画面表示部1224aに返却している(S314、S317)。すなわち、この例では、アプリC1223から要求された一つの表示要素は、パネルサービス部1233においては二つの表示要素で構成可能な場合が示されている。
Further, when it is necessary to display a display element, the
続いて、操作画面表示部1224aは、パネルサービス部1233より返却された二つの要素IDに対して一つの要素IDを生成し、生成された要素IDをアプリC1223に返却する(S318)。なお、ラッパーモジュール1224は、パネルサービス部1233より返却された二つの要素IDと、当該二つの要素IDに対して生成した一つの要素IDとを関連付けてRAM112に記録しておく。
Subsequently, the operation
続いて、アプリC1223は、操作画面表示部1224aより返却されたウィンドウID及び要素IDを指定して、ウィンドウに対する表示要素の登録を操作画面表示部1224aに要求する(S110)。操作画面表示部1224aは、当該ウィンドウID及び要素IDを必要に応じて変換し、変換後のウィンドウID及び要素IDを指定して、ウィンドウに対する表示要素の登録をパネルサービス部1233に要求する(S320)。本実施の形態では、少なくとも、ステップS318においてアプリC1223に返却された要素IDについて、当該要素IDに関連付けられてRAM112に記録されている二つの要素IDへの変換が行われる。
Subsequently, the
続いて、パネルサービス部1233は、指定されたウィンドウIDに対応するウィンドウに対して、指定された要素IDに対応する表示要素を登録する(関連付ける)(S321)。パネルサービス部1233は、表示要素の登録処理の実行結果を操作画面表示部1224aに返却する(S322)。操作画面表示部1224aは、当該実行結果をアプリC1223に返却する(S323)。なお、実行結果を示すデータについて、パネルサービス部1233のインタフェースと4行パネルサービス部2233のインタフェースの間でデータ型等が異なる場合、操作画面表示部1224aは、斯かる相違を吸収するための変換を行う。この点については、後述されるステップS328においても同様である。
Subsequently, the
続いて、アプリC1223は、ウィンドウIDを指定して、ウィンドウの表示を操作画面表示部1224aに要求する(S324)。操作画面表示部1224aは、必要に応じてウィンドウIDの変換を行い、変換後のウィンドウIDを指定してウィンドウの表示をパネルサービス部1233に要求する(S324)。続いて、アプリC1223は、ウィンドウIDを指定して、ウィンドウの表示を4行パネルサービス部2233に要求する(S325)。パネルサービス部1233は、指定されたウィンドウIDに対応するウィンドウの管理データ及び当該ウィンドウに登録されている表示要素の管理データに基づいて、液晶パネル151にウィンドウを表示させる(S326)。続いて、パネルサービス部1233は、ウィンドウの表示処理の処理結果を操作画面表示部1224aに返却する(S327)。操作画面表示部1224aは、ウィンドウの表示処理の処理結果をアプリC1223に返却する(S328)。
Subsequently, the
続いて、ステップS325の詳細について説明する。図10は、ラッパーモジュールによるウィンドウの表示要求処理の処理手順を説明するためのフローチャートである。 Next, details of step S325 will be described. FIG. 10 is a flowchart for explaining the processing procedure of the window display request processing by the wrapper module.
アプリC1223からのウィンドウの表示要求に応じ、操作画面表示部1224aは、操作パネル15とアプリC1223が対応している操作パネル(操作パネル25)との差分は、液晶パネル151に表示されているか否かを判定する(S401)。当該判定は、液晶パネル151の表示状態を確認することによって行われてもよいし、差分が表示中であるか否かを管理するためのフラグ変数等を参照して行われてもよい。
In response to the window display request from the application C1223, the operation
差分は表示中ではない場合(S401でNo)、装置情報取得部1224eは、SDKプラットフォーム123を介して画像形成装置10が備えている操作パネル15の種別情報(以下、「装置側種別情報」という。)を取得する(S402)。例えば、装置側種別情報として「WVGA」といった識別子が取得される。なお、装置側種別情報は、画像形成装置10のROM113又はHDD114に記録されている。
When the difference is not being displayed (No in S401), the apparatus
続いて、アプリ情報取得部1224fは、ウィンドウの表示要求元のアプリC1223が対応している操作パネル25の種別情報(以下、「アプリ側種別情報」という。)を取得する(S403)。例えば、アプリ側種別情報として「4LINES」といった識別子が取得される。なお、アプリ側種別情報は、アプリC1223に関連付けられてSDカード80又はHDD114に記録されているアプリC1223の属性情報ファイルより取得される。又は、アプリC1223に対して動的に問い合わせることにより取得されてもよい。
Subsequently, the application information acquisition unit 1224f acquires type information (hereinafter, referred to as “application-side type information”) of the
続いて、差分判定部1224dは、装置側種別情報、アプリ側種別情報、及びパネル構成情報記憶部1224gに記録されているパネル構成情報に基づいて、操作パネル15と操作パネル25との差分を判定する(S404)。
Subsequently, the difference determination unit 1224d determines the difference between the
図11は、パネル構成情報の例を示す図である。同図に示されるように、パネル構成情報には、操作パネルの種別(パネル種別)ごとに、構成情報が記録されている。構成情報としては、構成要素ごとにその識別子が記録されている。例えば、パネル種別が「WVGA」である操作パネルは、WVGA、START、CLEAR、1、2、3等のハードキーを有することが示されている。WVGAは液晶パネル、STARTはスタートキー、CLEARはクリアキー、1、2、3等は、テンキーの各ボタンを示す。 FIG. 11 is a diagram illustrating an example of panel configuration information. As shown in the figure, in the panel configuration information, configuration information is recorded for each type of operation panel (panel type). As the configuration information, an identifier is recorded for each component. For example, an operation panel having a panel type “WVGA” has hard keys such as WVGA, START, CLEAR, 1, 2, 3, and the like. WVGA is a liquid crystal panel, START is a start key, CLEAR is a clear key, 1, 2, 3, etc. are buttons on a numeric keypad.
なお、同図では、各構成要素の識別子のみが記録されている例が示されているが、構成要素ごとに、操作パネル上における位置情報(座標情報)、色、形状、及びサイズ等の属性情報についても、例えば、各構成要素の識別子に続いて記録されている。 In addition, although the example in which only the identifier of each component is recorded is shown in the figure, attributes such as position information (coordinate information), color, shape, and size on the operation panel are shown for each component. Information is also recorded, for example, following the identifier of each component.
また、本実施の形態では、液晶パネルの種別がパネル種別の識別子として利用されているが、これは便宜的なものである。液晶パネルの種別と操作パネルの構成とが一対一に対応しない場合は、液晶パネルに依存しないパネル種別の識別子を別途設ければよい。例えば、画像形成装置の機種名をパネル種別の識別子としてもよい。基本的に機種と操作パネルとの構成との間には対応関係が有るからである。 In this embodiment, the type of the liquid crystal panel is used as an identifier of the panel type, but this is for convenience. If the type of the liquid crystal panel and the configuration of the operation panel do not correspond one-to-one, a panel type identifier that does not depend on the liquid crystal panel may be separately provided. For example, the model name of the image forming apparatus may be used as the panel type identifier. This is because there is basically a correspondence between the model and the configuration of the operation panel.
差分判定部1224dは、装置側種別情報の「WVGA」とアプリ側種別情報の「4LINES」とをパネル構成情報のパネル種別に当てはめることにより、それぞれに対応する構成情報を取得する。差分判定部1224dは、二つの構成情報を比較し、アプリ側種別情報に係る構成情報に含まれていて、装置側種別情報に係る構成情報に含まれていない構成要素を差分として抽出する。構成要素の一致又は不一致は、構成要素の識別子に基づいて判定される。したがって、構成要素の属性情報は考慮されない。但し、構成要素の属性情報についても、当該一致又は不一致の判定材料としてもよい。 The difference determination unit 1224d obtains configuration information corresponding to each of the device type information by applying “WVGA” of the device side type information and “4LINES” of the application side type information to the panel type of the panel configuration information. The difference determination unit 1224d compares the two pieces of configuration information, and extracts, as a difference, a configuration element that is included in the configuration information related to the application-side type information and is not included in the configuration information related to the device-side type information. A match or mismatch of the components is determined based on the identifier of the component. Therefore, the attribute information of the constituent elements is not considered. However, the attribute information of the constituent elements may also be used as a material for determining the coincidence or mismatch.
本実施の形態では、図11の「4LiNES」に係る構成情報の中で、破線で囲まれた部分が差分として抽出される。当該差分は、図3において、e1〜e14で示される構成要素、及び液晶パネル251である。但し、図11においては、便宜上、e1〜e14に対応する全ての構成要素の識別子は記載されていない。
In the present embodiment, a portion surrounded by a broken line is extracted as a difference in the configuration information related to “4LiNES” in FIG. The difference is the components indicated by e1 to e14 and the
続いて、差分表示部1224cは、差分に含まれている構成要素の表示要求をパネルサービス部1233に要求する(S405)。ステップS405では、差分に含まれている構成要素の数に応じて、パネルサービス部1233に対して複数回の表示要求が入力されうる。また、構成要素の種別等に応じて複数種類の表示要求(関数又はメソッドの呼び出し)がパネルサービス部1233に対して行われうる。差分に含まれる構成要素と完全に一致する構成要素を表示させるためのインタフェースがパネルサービス部1233に無い場合、差分表示部1224cは、当該構成要素に類似した構成要素を表示可能なインタフェースを呼び出す。
Subsequently, the
続いて、操作画面表示部1224aは、アプリC1223より要求されたウィンドウの表示要求をパネルサービス部1233に要求する(S406)。当該ウィンドウは、差分としてソフト的(仮想的)に再現された液晶パネル251の中に表示される。
Subsequently, the operation
一方、既に差分は表示されている場合(S401でYes)、ステップS402〜S405は実行されることなくステップS406が実行される。 On the other hand, when the difference is already displayed (Yes in S401), step S406 is executed without executing steps S402 to S405.
図10の処理の結果、操作パネル15は、図12に示されるような状態となる。図12は、異機種の操作パネルとの差分が液晶パネル内に表示された操作パネルの例を示す図である。
As a result of the processing in FIG. 10, the
図12中、図3と同一部分には同一符号を付し、その説明は省略する。同図に示されるように、操作パネル15の液晶パネル151内には、操作パネル25との差分であるハードウェア(液晶パネル251及びハードキー等)がソフト的に再現されている。ソフト的に再現された液晶パネル251内には、アプリC1223より要求された表示要素が表示されている。
In FIG. 12, the same parts as those of FIG. As shown in the figure, in the
液晶パネル151内に差分のみが表示されることにより、操作パネル15上において実際の操作パネル25に近い操作感をユーザに提供することができる。また、各構成要素をより大きく表示させることができる。すなわち、仮に、操作パネル25の全部を液晶パネル15内に表示させようとした場合、各構成要素のサイズは小さくせざるを得ない。
By displaying only the difference in the
なお、差分は、パネル構成情報に基づいて判定されるため、テンキー252やスタートキー253等も液晶パネル151に表示させたい場合は、WVGAに係る構成情報より、テンキー152やスタートキー153に対応する識別子等を削除すればよい。
Since the difference is determined based on the panel configuration information, when the
続いて、図12に示されるような状態の操作パネル15において操作指示が入力された際の処理手順について説明する。
Next, a processing procedure when an operation instruction is input on the
図13は、ラッパーモジュールを介したアプリCによる入力制御の処理手順を説明するためのシーケンス図である。 FIG. 13 is a sequence diagram for explaining a processing procedure of input control by the application C via the wrapper module.
ユーザによって、操作パネル15上のいずれかのハードキーが押下されると、ハードキーの押下イベント(ハードキーの押下の通知情報)はSDKプラットフォーム123のパネルサービス部1233に通知される(S501)。パネルサービス部1233は、現在液晶パネル151を占有しているラッパーモジュール1224のイベント処理部1224bに対して当該イベントを通知する(S502)。イベント処理部1224bは、最後のウィンドウの表示要求元であるアプリC1223にイベントを通知する(S503)。すなわち、ラッパーモジュール1224の操作画面表示部1224aは、ウィンドウの表示要求を受けた際に、表示要求元の識別子をRAM112に記録しておく。なお、操作パネル15と操作パネル25とにおいて共通するハードキーであっても、パネルサービス部1233と4行パネルサービス部2233とにおいてイベントのデータ形式や割り当てている識別子等が異なる場合がある。斯かる場合、ラッパーモジュール1224は、当該相違点を吸収するための変換を行い、変換後のイベントをアプリC1223に通知する。
When one of the hard keys on the
続いて、アプリC1223は、押下されたハードキーに応じた処理を実行し(S504)、必要に応じてラッパーモジュール1224の操作画面表示部1224a又はSDKプラットフォーム123を呼び出す。例えば、ソフト的に再現されている液晶パネル251の表示内容を変更する場合は、ラッパーモジュール1224の操作画面表示部1224aが呼び出される(S505)。当該呼び出しに応じ、図9において説明した処理が実行される。また、スキャンサービス部1231又は印刷サービス部1232等、SDKプラットフォーム223とインタフェースが共通する部分(互換性を有する部分)を呼び出す必要が有る場合、アプリC1223は、SDKプラットフォーム123を直接呼び出す。
Subsequently, the
また、ユーザによって、液晶パネル151上にソフト的(仮想的)に再現された操作パネル251のいずれかのハードキー(以下、「仮想ハードキー」という。)が押下されると、仮想ハードキーの押下イベントはSDKプラットフォーム123のパネルサービス部1233に通知される(S201)。パネルサービス部1233は、現在液晶パネル151を占有しているイベント処理部1224bに対して当該イベントを通知する(S512)。ここで、イベント処理部1224bには、当該イベントは表示要素に対する押下イベントとして通知される。仮想ハードキーは、パネルサービス部1233にとっては液晶パネル151上の表示要素だからである。したがって、イベント処理部1224bは、イベントの内容を表示要素に関するものから、操作パネル251におけるハードキーに関するものに変換する。当該変換のための対応情報(表示要素とハードキーとの対応情報)は、差分表示部1224cが差分の表示要求をパネルサービス部1233に行った際にRAM112に記録される。すなわち、差分表示部1224cは、ハードキーに対する構成要素の表示要求に対してパネルサービス部1233より返却される要素IDと、ハードキーの識別子(パネル構成情報に記録されている識別子)とを対応情報をRAM112に記録しておく。イベント処理部1224bは、当該対応情報に基づいて、イベントの内容を変換する。
Further, when one of the hard keys (hereinafter referred to as “virtual hard key”) of the
続いて、イベント処理部1224bは、最後のウィンドウの表示要求元であるアプリC1223に変換後のイベントを通知する(S513)。続いて、アプリC1223は、押下された仮想ハードキーに応じた処理を実行し(S514)、必要に応じてラッパーモジュール1224の操作画面表示部1224a又はSDKプラットフォーム123を呼び出す(S515)。
Subsequently, the event processing unit 1224b notifies the converted event to the application C1223 which is the display request source of the last window (S513). Subsequently, the
なお、本実施の形態の内容は、本実施の形態において説明した操作パネルと異なる操作パネルを備えた画像形成装置とアプリC1223との間においても適用可能である。装置側種別情報及びアプリ側種別情報は、ラッパーモジュール1224によって動的に取得され、ラッパーモジュール1224が有するパネル構成情報に基づいて動的に判定されるからである。この点について図14を用いて説明する。
Note that the contents of this embodiment can also be applied between the application C1223 and an image forming apparatus having an operation panel different from the operation panel described in this embodiment. This is because the device-side type information and the application-side type information are dynamically acquired by the
図14は、SDKアプリが対応する操作パネルと画像形成装置が有する操作パネルとの差分のラッパーモジュールによる動的な判定の様子を示す図である。 FIG. 14 is a diagram illustrating a dynamic determination by a wrapper module of a difference between an operation panel supported by the SDK application and an operation panel included in the image forming apparatus.
同図では、機種Aの画像形成装置40a、機種Bの画像形成装置40b、及び機種Cの画像形成装置40cにおいてアプリC1223が実装されている例が示されている。機種毎に操作パネルの構成は異なるものとする。なお、SDKプラットフォーム123等は便宜上省略されている。
In the drawing, an example in which the application C1223 is mounted on the model A
画像形成装置40aにおいてアプリC1223が動作する場合、ラッパーモジュール1224の差分判定部1224dは、アプリC1223より取得されるアプリ側種別情報1223fと、画像形成装置40aより取得され装置側種別情報41aと、ラッパーモジュール1224のパネル構成情報記憶部1224gに記録されているパネル構成情報とに基づいて、アプリC1223が対応する操作パネル25と画像形成装置40aが備える操作パネルとの差分を判定する。
When the application C1223 operates in the
また、画像形成装置40bにおいてアプリC1223が動作する場合、ラッパーモジュール1224の差分判定部1224dは、アプリC1223より取得されるアプリ側種別情報1223fと、画像形成装置40bより取得され装置側種別情報41bと、ラッパーモジュール1224のパネル構成情報記憶部1224gに記録されているパネル構成情報とに基づいて、アプリC1223が対応する操作パネル25と画像形成装置40bが備える操作パネルとの差分を判定する。
When the application C1223 operates in the image forming apparatus 40b, the difference determination unit 1224d of the
更に、画像形成装置40cにおいてアプリC1223が動作する場合、ラッパーモジュール1224の差分判定部1224dは、アプリC1223より取得されるアプリ側種別情報1223fと、画像形成装置40cより取得され装置側種別情報41cと、ラッパーモジュール1224のパネル構成情報記憶部1224gに記録されているパネル構成情報とに基づいて、アプリC1223が対応する操作パネル25と画像形成装置40cが備える操作パネルとの差分を判定する。
Further, when the application C1223 operates in the image forming apparatus 40c, the difference determination unit 1224d of the
したがって、アプリC1223がどのような機種の画像形成装置上で動作する場合であっても、画像形成装置20の操作パネル25に近い操作感が各画像形成装置上で再現される。
Therefore, no matter what type of image forming apparatus the application C1223 operates on, the operation feeling close to the
また、画像形成装置20の操作パネル25を再現可能な装置は、操作パネルを備えた画像形成装置に限定されない。例えば、図15に示されるようなソフトウェア構成を有するPC(Personal Computer)等のコンピュータにおいても画像形成装置20の操作パネルの再現は可能である。
Further, an apparatus capable of reproducing the
図15は、画像形成装置のエミュレータを有するPC上でアプリCを動作させる場合のソフトウェア構成例を示す図である。 FIG. 15 is a diagram illustrating a software configuration example when the application C is operated on a PC having an emulator of the image forming apparatus.
図15中、図2と同一部分には同一符号を付し、その説明は省略する。同図においてPC50は、画像形成装置10のエミュレータ126を備える。したがって、PC50には、エミュレータ126上において、画像形成装置10に実装されているソフトウェアを実行可能である。
In FIG. 15, the same parts as those of FIG. In the figure, the
このようなソフトウェア構成を有するPC50は、上述した画像形成装置10と同様の処理手順を実行することができる。したがって、アプリC1223を実行する際に、PC50に接続された表示装置に画像形成装置20の操作パネルを再現することができる。なお、画像形成装置10の操作パネル15の表示機能が予めエミュレータ126に実装されている場合がある。この場合、エミュレータ126が表示する仮想的な操作パネルが、PC50が備える操作パネルに相当する。エミュレータ126が表示する仮想的な操作パネルについても、その構成情報をパネル構成情報記憶部1224gに記録(登録)しておけばよい。ラッパーモジュール1224の差分判定部1224dは、エミュレータ126より取得される装置側種別情報をパネル構成情報に当てはめることにより、エミュレータ126が表示可能な操作パネルの構成を判定すればよい。そうすることにより、差分判定部1224dは、エミュレータ126が表示可能な操作パネルと、アプリC1223が対応する操作パネル25との差分を動的に判定することができる。
The
すなわち、本実施の形態を実現するための装置は、画像形成装置やコンピュータ等を含む情報処理装置であればよい。 That is, an apparatus for realizing the present embodiment may be an information processing apparatus including an image forming apparatus and a computer.
なお、ラッパーモジュール1224の実装形態としては、独立して一つのソフトウェアコンポーネントとして実装されてもよいし、SDKプラットフォーム123の一部として実装されてもよいし、ラッパーモジュール1224が適用されるアプリC1223の一部として実装されてもよい。独立して一つのソフトウェアコンポーネントとして実装される場合、又はSDKプラットフォーム123の一部として実装される場合、複数のアプリC1223によって一つのラッパーモジュール1224を共用できるという利点がある。アプリC1223の一部として実装される場合、ラッパーモジュール1224の存在をユーザが特に意識する必要はないという利点がある。例えば、アプリC1223をインストールすれば、ラッパーモジュール1224を利用可能な状態が実現される。
In addition, as a mounting form of the
上述したように、本実施の形態によれば、実際のSDKプラットフォーム123上においてアプリC1223の動作確認及び評価を行うことができる。SDKプラットフォーム123は、移植後のSDKプラットフォーム223と完全に同一なものではないが、スタブに比べればその類似度は著しく高い。したがって、アプリC1223をSDKプラットフォーム223上で動作させた場合に予期せぬ不具合が発生する可能性を著しく低減させることができる。よって、開発効率を向上させることができる。
As described above, according to the present embodiment, the operation check and evaluation of the application C1223 can be performed on the
また、非互換部分については、ラッパーモジュール1224によって適切に吸収される。ラッパーモジュール1224は、単に操作パネル25の画像を操作パネル15の液晶パネル151上に表示させるのではなく、操作パネル25と操作パネル15との差分の画像を液晶パネル151に表示させる。したがって、操作パネル25に近い操作感をユーザに与えることができる。斯かる点においても、アプリC1223を画像形成装置20上で動作させた場合における予期せぬ不具合の低減を期待することができる。
Further, the incompatible part is appropriately absorbed by the
また、図15に示されるようにエミュレータ126を利用する場合においても、ラッパーモジュール1224の存在により、既存のエミュレータ126(すなわち、画像形成装置10のエミュレータ)をそのまま利用することができる。したがって、画像形成装置20のエミュレータを改めて開発する必要を無くすことができる。
As shown in FIG. 15, even when the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10、20 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15、25 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
121 標準アプリ
122 SDKアプリ
123 SDKプラットフォーム
124 コントロールサービス
125 OS
126 エミュレータ
151、251 液晶パネル
152、252 テンキー
153、253 スタートキー
154、254 クリアキー
1211 スキャンアプリ
1212 印刷アプリ
1213 コピーアプリ
1214 FAXアプリ
1221 アプリA
1222 アプリB
1223 アプリC
1224 ラッパーモジュール
1224a 操作画面表示部
1224b イベント処理部
1224c 差分表示部
1224d 差分判定部
1224e 装置情報取得部
1224f アプリ情報取得部
1224g パネル構成情報記憶部
1231 スキャンサービス部
1232 印刷サービス部
1233 パネルサービス部
2231 スキャンサービス部
2232 印刷サービス部
2233 4行パネルサービス部
10, 20 Image forming apparatus 11
112 RAM
113 ROM
114 HDD
121
126
1222 App B
1223 Application C
1224
Claims (12)
当該情報処理装置が備える第一の操作パネルと異なる種別の第二の操作パネルを有する画像形成装置に対応したプログラムに対して、前記画像形成装置が提供する前記第二の操作パネルの制御用のインタフェースと同じインタフェースを提供するラッパー手段を有し、
前記ラッパー手段は、
前記操作パネルの種別ごとに構成情報を記憶する構成情報記憶手段と、
前記第一の操作パネルの第一の種別情報を当該情報処理装置より取得する装置情報取得手段と、
当該ラッパー手段が有するインタフェースの呼び出しを当該情報処理装置に実行させた前記プログラムが対応する前記第二の操作パネルの第二の種別情報を取得するアプリ情報取得手段と、
前記第一の種別情報に係る前記構成情報と前記第二の種別情報に係る前記構成情報とを前記構成情報記憶手段より取得し、取得された前記構成情報の差分を判定する差分判定手段と、
前記差分に含まれる構成要素を前記第一の操作パネルの表示領域に表示させる差分表示制御手段とを有する情報処理装置。 An information processing apparatus,
For control of the second operation panel provided by the image forming apparatus, for a program corresponding to an image forming apparatus having a second operation panel of a type different from the first operation panel provided in the information processing apparatus. has a wrapper means that Kyosu Hisage the same interfaces,
The wrapper means is
Configuration information storage means for storing configuration information for each type of the operation panel;
Device information acquisition means for acquiring the first type information of the first operation panel from the information processing device;
Application information acquisition means for acquiring second type information of the second operation panel corresponding to the program that causes the information processing apparatus to call the interface of the wrapper means ;
Difference determining means for acquiring the configuration information relating to the first type information and the configuration information relating to the second type information from the configuration information storage means, and determining a difference between the acquired configuration information;
An information processing apparatus comprising: a difference display control unit configured to display a component included in the difference in a display area of the first operation panel.
前記差分表示制御手段によって表示された前記構成要素、又は前記差分に含まれない前記第一の操作パネルの構成要素に対する入力に応じて当該情報処理装置より通知される通知情報を、前記プログラムに通知するイベント処理手段を有する請求項1又は2記載の情報処理装置。 The wrapper means is
Notification information notified from the information processing apparatus in response to an input to the component displayed by the difference display control means or to the component of the first operation panel not included in the difference is notified to the program The information processing apparatus according to claim 1, further comprising an event processing unit.
前記第一の操作パネルの表示領域に前記構成要素として表示される前記第二の操作パネルの表示領域に、前記プログラムより表示要求される操作画面を表示させる操作画面表示手段を有し、
前記イベント処理手段は、前記操作画面に対する入力に応じて当該情報処理装置より通知される通知情報を、前記プログラムに通知する請求項3記載の情報処理装置。 The wrapper means is
An operation screen display means for displaying an operation screen requested to be displayed by the program in the display area of the second operation panel displayed as the component in the display area of the first operation panel;
It said event processing means, the notification information notified from the information processing apparatus in response to an input to the operation screen, before the information processing apparatus according to claim 3, wherein notifying the Kipu program.
当該情報処理装置が備える第一の操作パネルと異なる種別の第二の操作パネルを有する画像形成装置に対応したプログラムに対して、前記画像形成装置が提供する前記第二の操作パネルの制御用のインタフェースと同じインタフェースを提供するラッパー手段が、
前記第一の操作パネルの第一の種別情報を当該情報処理装置より取得する装置情報取得手順と、
当該ラッパー手段が有するインタフェースの呼び出しを当該情報処理装置に実行させた前記プログラムが対応する前記第二の操作パネルの第二の種別情報を取得するアプリ情報取得手順と、
前記操作パネルの種別ごとに構成情報を記憶する構成情報記憶手段より、前記第一の種別情報に係る前記構成情報と前記第二の種別情報に係る前記構成情報とを取得し、取得された前記構成情報の差分を判定する差分判定手順と、
前記差分に含まれる構成要素を前記第一の操作パネルの表示領域に表示させる差分表示制御手順とを実行する情報処理方法。 An information processing method in an information processing apparatus,
For control of the second operation panel provided by the image forming apparatus, for a program corresponding to an image forming apparatus having a second operation panel of a type different from the first operation panel provided in the information processing apparatus. wrapper means that Kyosu Hisage the same interface as the interface is,
An apparatus information acquisition procedure for acquiring the first type information of the first operation panel from the information processing apparatus;
An application information acquisition procedure for acquiring second type information of the second operation panel corresponding to the program that causes the information processing apparatus to call the interface of the wrapper means ;
From the configuration information storage means for storing configuration information for each type of the operation panel, the configuration information related to the first type information and the configuration information related to the second type information are acquired, and the acquired A difference determination procedure for determining a difference in configuration information;
An information processing method for executing a difference display control procedure for displaying a component included in the difference in a display area of the first operation panel.
前記差分表示制御手順によって表示された前記構成要素、又は前記差分に含まれない前記第一の操作パネルの構成要素に対する入力に応じて当該情報処理装置より通知される通知情報を、前記プログラムに通知するイベント処理手順を実行する請求項5又は6記載の情報処理方法。 The wrapper means is
Notification information notified from the information processing apparatus in response to an input to the component displayed by the difference display control procedure or to the component of the first operation panel not included in the difference is notified to the program. The information processing method according to claim 5 or 6, wherein an event processing procedure is executed.
前記第一の操作パネルの表示領域に前記構成要素として表示される前記第二の操作パネルの表示領域に、前記プログラムより表示要求される操作画面を表示させる操作画面表示手順を実行し、
前記イベント処理手順は、前記操作画面に対する入力に応じて当該情報処理装置より通知される通知情報を、前記プログラムに通知する請求項7記載の情報処理方法。 The wrapper means is
An operation screen display procedure for displaying an operation screen requested to be displayed by the program in the display area of the second operation panel displayed as the component in the display area of the first operation panel;
The event processing procedures, the information processing method according to claim 7, wherein notifying the notification information notified from the information processing apparatus, before Kipu program in response to an input to the operation screen.
当該情報処理装置が備える第一の操作パネルと異なる種別の第二の操作パネルを有する画像形成装置に対応したプログラムに対して、前記画像形成装置が提供する前記第二の操作パネルの制御用のインタフェースと同じインタフェースを提供するラッパー手段として機能させ、
前記ラッパー手段は、
前記操作パネルの種別ごとに構成情報を記憶する構成情報記憶手段と、
前記第一の操作パネルの第一の種別情報を当該情報処理装置より取得する装置情報取得手段と、
当該ラッパー手段が有するインタフェースの呼び出しを当該情報処理装置に実行させた前記プログラムが対応する前記第二の操作パネルの第二の種別情報を取得するアプリ情報取得手段と、
前記第一の種別情報に係る前記構成情報と前記第二の種別情報に係る前記構成情報とを前記構成情報記憶手段より取得し、取得された前記構成情報の差分を判定する差分判定手段と、
前記差分に含まれる構成要素を前記第一の操作パネルの表示領域に表示させる差分表示制御手段とを有する情報処理プログラム。 Information processing device
For control of the second operation panel provided by the image forming apparatus, for a program corresponding to an image forming apparatus having a second operation panel of a type different from the first operation panel provided in the information processing apparatus. the same interface as the interface to function as Hisage Kyosu that wrapper means,
The wrapper means is
Configuration information storage means for storing configuration information for each type of the operation panel;
Device information acquisition means for acquiring the first type information of the first operation panel from the information processing device;
Application information acquisition means for acquiring second type information of the second operation panel corresponding to the program that causes the information processing apparatus to call the interface of the wrapper means ;
Difference determining means for acquiring the configuration information relating to the first type information and the configuration information relating to the second type information from the configuration information storage means, and determining a difference between the acquired configuration information;
An information processing program comprising: difference display control means for displaying a component included in the difference in a display area of the first operation panel.
前記差分表示制御手段によって表示された前記構成要素、又は前記差分に含まれない前記第一の操作パネルの構成要素に対する入力に応じて当該情報処理装置より通知される通知情報を、前記プログラムに通知するイベント処理手段を有する請求項9又は10記載の情報処理プログラム。 The wrapper means is
Notification information notified from the information processing apparatus in response to an input to the component displayed by the difference display control means or to the component of the first operation panel not included in the difference is notified to the program 11. The information processing program according to claim 9 or 10, further comprising event processing means for performing.
前記第一の操作パネルの表示領域に前記構成要素として表示される前記第二の操作パネルの表示領域に、前記プログラムより表示要求される操作画面を表示させる操作画面表示手段を有し、
前記イベント処理手段は、前記操作画面に対する入力に応じて当該情報処理装置より通知される通知情報を、前記プログラムに通知する請求項11記載の情報処理プログラム。 The wrapper means is
An operation screen display means for displaying an operation screen requested to be displayed by the program in the display area of the second operation panel displayed as the component in the display area of the first operation panel;
It said event processing means, according to claim 11, wherein the information processing program for notifying the notification information notified from the information processing apparatus in response to an input to the operation screen, before Kipu program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009186748A JP5387221B2 (en) | 2009-08-11 | 2009-08-11 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009186748A JP5387221B2 (en) | 2009-08-11 | 2009-08-11 | Information processing apparatus, information processing method, and information processing program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013209809A Division JP5637280B2 (en) | 2013-10-07 | 2013-10-07 | Information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011041010A JP2011041010A (en) | 2011-02-24 |
JP5387221B2 true JP5387221B2 (en) | 2014-01-15 |
Family
ID=43768324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009186748A Expired - Fee Related JP5387221B2 (en) | 2009-08-11 | 2009-08-11 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5387221B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6064662B2 (en) * | 2013-02-19 | 2017-01-25 | コニカミノルタ株式会社 | Image forming apparatus, image forming apparatus control method, and control program |
JP6186912B2 (en) * | 2013-06-11 | 2017-08-30 | 株式会社リコー | Information processing system, information processing method, and program |
JP6308143B2 (en) * | 2015-02-17 | 2018-04-11 | 京セラドキュメントソリューションズ株式会社 | Information processing apparatus and process execution method |
JP2017027366A (en) * | 2015-07-22 | 2017-02-02 | キヤノン株式会社 | Information processor and event management method |
JP6909654B2 (en) * | 2017-07-07 | 2021-07-28 | 横河電機株式会社 | Control system and common platform |
JP7346937B2 (en) * | 2018-11-29 | 2023-09-20 | 株式会社リコー | Information processing device, information processing method, program, image forming system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4759436B2 (en) * | 2005-05-20 | 2011-08-31 | 株式会社リコー | Image handling apparatus, image processing system, image processing control method, and image processing control program |
-
2009
- 2009-08-11 JP JP2009186748A patent/JP5387221B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011041010A (en) | 2011-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5387221B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP4597834B2 (en) | Image forming apparatus, information processing method, information processing program, and recording medium | |
US9894230B2 (en) | Image formation device which can be expanded and image forming method for expanding an image formation device | |
US8438567B2 (en) | Information processing device and image processing apparatus | |
JP5458708B2 (en) | Image processing apparatus, display control method, and display control program | |
JP5786535B2 (en) | Apparatus, information processing method, information processing program, and recording medium | |
JP5814526B2 (en) | Image forming apparatus, image forming apparatus control method, and program | |
JP5728896B2 (en) | Printing system and program | |
US9606761B2 (en) | Information processing apparatus for controlling an output process and method for the same | |
JP5487792B2 (en) | Image forming apparatus, information processing system, information processing method, and information processing program | |
US9917968B2 (en) | Image processing device and terminal device using application programming interface corresponding to specific function | |
JP5637280B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP5157867B2 (en) | Image forming apparatus, display control method, and display control program | |
JP2018055668A (en) | Image processing apparatus and program | |
US20150178420A1 (en) | Information processing apparatus, information processing system, method of processing information, and program | |
JP2012059106A (en) | Customization device, printing system, customization method, and customization program | |
JP2002222081A (en) | Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method | |
JP2009223577A (en) | User interface emulation device and user interface emulation program | |
JP3699412B2 (en) | Extended control code processing method in terminal emulator for image forming apparatus, program for causing computer to execute the method, and image forming apparatus | |
JP3689380B2 (en) | Drawing processing method in terminal emulator for image forming apparatus, program for causing computer to execute the method, and image forming apparatus | |
JP2000163345A (en) | Device control system, information registering method, device utilizing method and storage medium recording computer program | |
JP5195200B2 (en) | Information processing apparatus, application execution method, and program | |
JP2014120017A (en) | Image processing system, image processing apparatus, information terminal device, and program | |
JP3686620B2 (en) | Control code discrimination processing method in terminal emulator for image forming apparatus, program for causing computer to execute the method, and image forming apparatus | |
JP5447637B2 (en) | Apparatus, display control method, and display control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130822 |
|
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: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130923 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5387221 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |