(57)【特許請求の範囲】
【請求項１】
ＰＯＳ周辺機器を接続可能なＰＯＳ端末であって、
ＰＯＳドライバーと、前記ＰＯＳドライバーに含まれるＡＰＩを呼び出すと共に、前記ＡＰＩに対する入力パラメーターを指定するためのアプリケーションと、を記憶する記憶部と、
前記記憶部から前記ＰＯＳドライバーと前記アプリケーションを読み出して実行する制御部と、を備え、
前記ＰＯＳドライバーは、
前記アプリケーションから呼び出される前記ＡＰＩを含むメインプログラムライブラリと、
前記メインプログラムライブラリとは別体のプログラムライブラリであり、前記ＰＯＳ周辺機器の制御コマンドを生成するためのコマンド生成プログラムとして、それぞれ異なる前記コマンド生成プログラムを含む複数のサブプログラムライブラリと、を有し、
前記メインプログラムライブラリは、前記アプリケーションから呼び出される前記ＡＰＩとして、前記入力パラメーターに含まれた識別子に応じた前記コマンド生成プログラムを、いずれかの前記サブプログラムライブラリから呼び出すための外部プログラム呼出しＡＰＩを含むことを特徴とするＰＯＳ端末。
【請求項２】
前記ＰＯＳドライバーは、
前記メインプログラムライブラリと別体で構成され、前記各識別子と、前記複数のサブプログラムライブラリの前記各コマンド生成プログラムと、の対応関係を含む対応関係データベースを、更に有し、
前記外部プログラム呼出しＡＰＩは、前記対応関係データベースに基づいて、前記識別子に応じた前記コマンド生成プログラムを呼び出すためのＡＰＩであることを特徴とする請求項１に記載のＰＯＳ端末。
【請求項３】
前記ＰＯＳドライバーは、ＵＰＯＳ仕様を準拠することを特徴とする請求項１または２に記載のＰＯＳ端末。
【請求項４】
ＰＯＳ端末の制御部により実行可能なＰＯＳドライバーであって、
ＡＰＩに対する入力パラメーターを指定するためのアプリケーションから呼び出される前記ＡＰＩを含むメインプログラムライブラリと、
前記メインプログラムライブラリとは別体のプログラムライブラリであり、前記ＰＯＳ端末に接続されるＰＯＳ周辺機器の制御コマンドを生成するためのコマンド生成プログラムとして、それぞれ異なる前記コマンド生成プログラムを含む複数のサブプログラムライブラリと、を有し、
前記メインプログラムライブラリは、前記アプリケーションから呼び出される前記ＡＰＩとして、前記入力パラメーターに含まれた識別子に応じた前記コマンド生成プログラムを、いずれかの前記サブプログラムライブラリから呼び出すための外部プログラム呼出しＡＰＩを含むことを特徴とするＰＯＳドライバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＯＳドライバーを搭載したＰＯＳ端末およびこれに搭載されたＰＯＳドライバーに関するものである。
【背景技術】
【０００２】
従来、この種のＰＯＳ（Point  of  Service）端末として、プリンター等の周辺機器を接続すると共に、アプリケーションと、ＰＯＳドライバー（ＯＰＯＳドライバー）と、を備えたものが知られている（特許文献１参照）。このＰＯＳ端末では、ＰＯＳドライバーが、アプリケーションからの処理要求を受け付けて、上記周辺機器を制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−８４７５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、この種のＰＯＳ端末では、ＰＯＳドライバーが、単一のＤＬＬ（Dynamic  Link  Library）で構成されている。
そのため、ＰＯＳドライバーにおける機能の追加や一部の機能のアップデートに際し、ＰＯＳドライバーの全ての機能が利用できなくなるという問題があった。例えば、プリンターを用いた画像印刷機能を追加またはアップデートしようとしたとき、テキスト印刷機能やバーコード印刷機能についても利用できなくなってしまう。このように、ＰＯＳドライバーの全ての機能が利用できなくなると、ＰＯＳ端末が利用できなくなり、業務に支障をきたしてしまう。
【０００５】
本発明は、ＰＯＳドライバーにおける機能の追加や一部の機能のアップデートに際し、ＰＯＳ端末が利用できなくなる事態を避けることができるＰＯＳ端末およびこれに搭載されたＰＯＳドライバーを提供することを課題としている。
【課題を解決するための手段】
【０００６】
本発明のＰＯＳ端末は、ＰＯＳ周辺機器を接続したＰＯＳ端末であって、ＡＰＩ（Application  Programming  Interface）を呼び出すと共に、呼び出すＡＰＩに対する入力パラメーターを指定するためのアプリケーションと、ＰＯＳドライバーと、を備え、ＰＯＳドライバーは、アプリケーションから呼び出されるＡＰＩを記憶するメインプログラムライブラリと、メインプログラムライブラリとは別体のプログラムライブラリであり、ＰＯＳ周辺機器の制御コマンドを生成するためのコマンド生成プログラムとして、それぞれ異なるコマンド生成プログラムを記憶する複数のサブプログラムライブラリと、を有し、メインプログラムライブラリは、アプリケーションから呼び出されるＡＰＩとして、入力パラメーターに含まれた識別子に応じたコマンド生成プログラムを、いずれかのサブプログラムライブラリから呼び出すための外部プログラム呼出しＡＰＩを記憶することを特徴とする。
【０００７】
本発明のＰＯＳドライバーは、ＰＯＳ端末に搭載されたＰＯＳドライバーであって、ＡＰＩに対する入力パラメーターを指定するためのアプリケーションから呼び出されるＡＰＩを記憶するメインプログラムライブラリと、メインプログラムライブラリとは別体のプログラムライブラリであり、ＰＯＳ端末に接続されたＰＯＳ周辺機器の制御コマンドを生成するためのコマンド生成プログラムとして、それぞれ異なるコマンド生成プログラムを記憶する複数のサブプログラムライブラリと、を有し、メインプログラムライブラリは、アプリケーションから呼び出されるＡＰＩとして、入力パラメーターに含まれた識別子に応じたコマンド生成プログラムを、いずれかのサブプログラムライブラリから呼び出すための外部プログラム呼出しＡＰＩを記憶することを特徴とする。
【０００８】
これらの構成によれば、各機能をそれぞれ実現するためのコマンド生成プログラムを、メインプログラムライブラリとは別体（非一体）の各サブプログラムライブラリから呼び出して、各機能を実現する構成となる。そのため、ＰＯＳドライバーに機能を追加する場合には、主に、その機能を実現するためのサブプログラムライブラリを追加するだけで良く、他のプログラムライブラリ（メインプログラムライブラリや他のサブプログラムライブラリ）に極力干渉せずに、機能を追加することができる。また、ＰＯＳドライバーの一部の機能をアップデートする場合にも、他のプログラムライブラリに極力干渉せずに、一部の機能をアップデートすることができる。よって、ＰＯＳドライバーにおける機能の追加や一部の機能のアップデートに際し、ＰＯＳドライバー全体が利用できなくなる事態を避けることができ、ＰＯＳ端末が利用できなくなる事態を避けることができる。
【０００９】
上記のＰＯＳ端末において、ＰＯＳドライバーは、メインプログラムライブラリと別体で構成され、各識別子と、複数のサブプログラムライブラリの各コマンド生成プログラムと、の対応関係を記憶する対応関係データベースを、更に有し、外部プログラム呼出しＡＰＩは、対応関係データベースに基づいて、識別子に応じたコマンド生成プログラムを呼び出すためのＡＰＩであることが好ましい。
【００１０】
この構成によれば、各識別子と、各サブプログラムライブラリのコマンド生成プログラムと、の対応関係を記憶したデータベースについても、メインプログラウライブラリと別体で構成することで、より容易且つ柔軟に、ＰＯＳドライバーにおける機能の追加等を行うことができる。
【００１１】
また、ＰＯＳドライバーは、ＵＰＯＳ（Unified  Point  of  Service）仕様を準拠することが好ましい。
【００１２】
この構成によれば、ＵＰＯＳ仕様のＰＯＳドライバー（いわゆるＵＰＯＳドライバー）において、容易且つ柔軟に、機能の追加や一部の機能のアップデートを行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るＰＯＳシステムのシステム構成図である。
【図２】ＰＯＳ端末の構成を示したブロック図である。
【図３】ＵＰＯＳドライバーの構成を示したブロック図である。
【図４】ＰＯＳシステムによる印刷動作を示したフローチャートである。
【図５】第２実施形態におけるＵＰＯＳドライバーの構成を示したブロック図である。
【図６】第３実施形態におけるＵＰＯＳドライバーの構成を示したブロック図である。
【図７】第３実施形態の第１変形例におけるＵＰＯＳドライバーの構成を示したブロック図である。
【図８】第３実施形態の第２変形例におけるＵＰＯＳドライバーの構成を示したブロック図である。
【発明を実施するための形態】
【００１４】
［第１実施形態］
以下、添付の図面を参照し、本発明の一実施形態に係るＰＯＳ端末およびこれに搭載されたＰＯＳドライバーについて説明する。実施形態では、本発明のＰＯＳ端末を備えたＰＯＳシステムを例示する。このＰＯＳシステムは、ＰＯＳ端末によって、ＰＯＳ周辺機器であるＰＯＳプリンターを制御するものである。なお、「ＰＯＳ」は、「Point  of  Service」の略である。
【００１５】
図１に示すように、ＰＯＳシステムＳＹは、ＰＯＳプリンター１と、ＰＯＳプリンター１を接続したＰＯＳ端末２と、を備える。本ＰＯＳシステムＳＹでは、ＰＯＳ端末２が、ＰＯＳプリンター１を制御するための制御コマンドを生成し、これをＰＯＳプリンター１に送信することで、ＰＯＳプリンター１を制御する。なお、ＰＯＳプリンター１とＰＯＳ端末２とは、有線により接続される構成でも良いし、無線により接続される構成でも良い。また、ＰＯＳプリンター１とＰＯＳ端末２とは、直接接続される構成でも良いし、ネットワーク（インターネットやローカルエリアネットワーク）を介して接続される構成でも良い。
【００１６】
ＰＯＳプリンター１は、ＰＯＳ端末２とのデータ通信を行う通信部１１と、印刷媒体に対し印刷処理を行う印刷部１２と、通信部１１および印刷部１２を制御する制御部１３と、を備える。ＰＯＳプリンター１は、制御部１３の制御の下、通信部１１により、ＰＯＳ端末２からの上記制御コマンドを受信し、制御コマンドが印刷制御コマンドである場合には、印刷部１２により、印刷制御コマンドに基づく印刷処理を行う。この印刷処理によって、ＰＯＳプリンター１は、レシート等の印刷物を作成する。
【００１７】
図２に示すように、ＰＯＳ端末２は、ＰＯＳプリンター１とのデータ通信を行う通信部２１と、ＰＯＳ端末２を制御する制御部２２と、ＰＯＳ端末２の制御に係る各種データおよび各種プログラムを記憶する記憶部２３と、を備える。通信部２１は、主に、上記制御コマンドを送信するのに用いられる。
【００１８】
制御部２２は、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）およびＲＯＭ（Read  Only  Memory）等を有し、ＰＯＳ端末２を統括制御する。具体的には、制御部２２は、記憶部２３に記憶された各種データおよび各種プログラムに基づいて、ＰＯＳ端末２を制御する。
【００１９】
記憶部２３は、フラッシュＲＯＭ等で構成され、アプリケーション３１と、ＵＰＯＳドライバー３２（ＰＯＳドライバー）と、を記憶する。すなわち、ＰＯＳ端末２は、アプリケーション３１およびＵＰＯＳドライバー３２を搭載する。なお、「ＵＰＯＳ」は、「Unified  Point  of  Service」の略である。
【００２０】
アプリケーション３１は、コマンド名を指定してＵＰＯＳドライバー３２上のＡＰＩ（Application  Programming  Interface）を呼び出すと共に、呼び出すＡＰＩに対する入力データを指定し、これによって各処理を行うためのプログラムである。すなわち、制御部２２は、アプリケーション３１を実行することで、コマンド名を指定してＵＰＯＳドライバー３２上のＡＰＩを呼び出し、呼び出すＡＰＩに対する入力パラメーターを指定する。このアプリケーション３１を実行する制御部２２を、以下、「アプリケーション実行部」と呼称する。なお、「入力パラメーター」は、上記コマンド名および入力データにより構成される。
【００２１】
ＵＰＯＳドライバー３２は、ＵＰＯＳ仕様を準拠するＰＯＳドライバーである。具体的には、図３に示すように、ＵＰＯＳドライバー３２は、アプリケーション３１（アプリケーション実行部）から呼び出されるＡＰＩを記憶するメインＤＬＬ４１（メインプログラムライブラリ）と、メインＤＬＬ４１とは別体で構成された第１サブＤＬＬ４２および第２サブＤＬＬ４３（複数のサブプログラムライブラリ）と、を備える。各サブＤＬＬ４２、４３は、ＵＰＯＳドライバー３２における拡張機能を実現するためのプログラムをそれぞれ記憶するものである。なお、「ＤＬＬ」は、「Dynamic  Link  Library」の略である。
【００２２】
メインＤＬＬ４１は、アプリケーション３１（アプリケーション実行部）から呼び出されるＡＰＩとして、テキスト印刷用ＡＰＩ５１と、バーコード印刷用ＡＰＩ５２と、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３と、を備える。また、メインＤＬＬ４１は、テキスト印刷用ＡＰＩ５１に対応するテキスト印刷コマンド生成プログラム６１と、バーコード印刷用ＡＰＩ５２に対応する複数のバーコード印刷コマンド生成プログラム６２、６３と、コマンド送信プログラム６４と、を備える。
【００２３】
アプリケーション３１（アプリケーション実行部）によりテキスト印刷用ＡＰＩ５１を呼び出す場合には、テキスト印刷用ＡＰＩ５１に対応するコマンド名が指定され、入力データとして、テキストデータ（印刷するテキスト）が指定される。また、アプリケーション３１によりバーコード印刷用ＡＰＩ５２を呼び出す場合には、バーコード印刷用ＡＰＩ５２に対応するコマンド名が指定され、入力データとして、バーコードの種類を示す識別子と、コード情報（印刷するバーコードのコード情報）と、が指定される。さらに、アプリケーション３１によりＤｉｒｅｃｔＩＯ用ＡＰＩ５３を呼び出す場合には、拡張機能を示すコマンド名が指定され、入力データとして、拡張機能の種類を示す識別子と、拡張機能で利用するデータと、が指定される。
【００２４】
テキスト印刷用ＡＰＩ５１は、テキスト印刷コマンド生成プログラム６１を呼び出すためのＡＰＩである。すなわち、制御部２２は、テキスト印刷用ＡＰＩ５１に従って、テキスト印刷コマンド生成プログラム６１を呼び出す。
【００２５】
テキスト印刷コマンド生成プログラム６１は、アプリケーション３１（アプリケーション実行部）により指定されたテキストデータに基づき、テキスト印刷コマンドを生成するためのプログラムである。すなわち、制御部２２は、テキスト印刷コマンド生成プログラム６１に従い、当該テキストデータに基づいて、テキスト印刷コマンドを生成する。テキスト印刷コマンドは、ＰＯＳプリンター１にテキストを印刷させるための印刷制御コマンドである。
【００２６】
バーコード印刷用ＡＰＩ５２は、アプリケーション３１（アプリケーション実行部）により指定された上記識別子（バーコードの種類を示す識別子）に応じたバーコード印刷コマンド生成プログラム６２、６３を呼び出すためのＡＰＩである。すなわち、制御部２２は、テキスト印刷用ＡＰＩ５１に従って、当該識別子に応じたバーコード印刷コマンド生成プログラム６２、６３を呼び出す。
【００２７】
各バーコード印刷コマンド生成プログラム６２、６３は、アプリケーション３１（アプリケーション実行部）により指定されたコード情報に基づき、バーコード印刷コマンドを生成するためのプログラムである。各バーコード印刷コマンド生成プログラム６２、６３は、バーコードの各種類に対応したものである。つまり、各バーコード印刷コマンド生成プログラム６２、６３は、指定されたコード情報に基づき、対応する種類のバーコードのバーコード印刷コマンドを生成する。すなわち、制御部２２は、バーコード印刷コマンド生成プログラム６２、６３に従い、当該コード情報に基づいて、対応する種類のバーコードのバーコード印刷コマンドを生成する。バーコード印刷コマンドは、ＰＯＳプリンター１にバーコードを印刷させるための印刷制御コマンドである。
【００２８】
ＤｉｒｅｃｔＩＯ用ＡＰＩ５３は、ＵＰＯＳドライバー３２の機能拡張を行うためのＡＰＩである。本実施形態では、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３を、各サブＤＬＬ４２、４３からプログラムを呼び出すための外部プログラム呼出しＡＰＩとして用いることで、各拡張機能を実現する。よって、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３について詳細に説明する前に、各サブＤＬＬ４２、４３について説明する。
【００２９】
第１サブＤＬＬ４２および第２サブＤＬＬ４３は、各拡張機能を実現するプログラムとして、アプリケーション３１（アプリケーション実行部）により指定された上記データに基づいて、印刷制御コマンドを生成するための第１コマンド生成プログラム７１および第２コマンド生成プログラム７２を、それぞれ記憶する。すなわち、第１サブＤＬＬ４２および第２サブＤＬＬ４３は、それぞれ異なるコマンド生成プログラム７１、７２を記憶し、各拡張機能を実現する。そして、制御部２２は、当該各コマンド生成プログラムに従い、上記データに基づいて、印刷制御コマンドを生成する。
【００３０】
例えば、拡張機能を、カラー画像印刷機能およびモノクロ画像印刷機能とした場合、第１サブＤＬＬ４２が、第１コマンド生成プログラム７１として、カラー画像印刷コマンドを生成するカラー画像印刷生成プロログラムを記憶し、第２サブＤＬＬ４３が、第２コマンド生成プログラム７２として、モノクロ画像印刷コマンドを生成するモノクロ画像印刷コマンド生成プログラムを記憶する。なお、カラー画像印刷コマンドは、ＰＯＳプリンター１にカラー画像を印刷させるための印刷制御コマンドであり、モノクロ画像印刷コマンドは、ＰＯＳプリンター１にモノクロ画像を印刷させるための印刷制御コマンドである。
【００３１】
これに対し、本実施形態のＤｉｒｅｃｔＩＯ用ＡＰＩ５３を、アプリケーション３１（アプリケーション実行部）により指定された識別子（拡張機能の種類を示す識別子）に応じた上記コマンド生成プログラム７１、７２を、いずれかのサブＤＬＬ４２、４３から呼び出すための外部プログラム呼出しＡＰＩとして用いる。すなわち、制御部２２は、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３に従って、当該識別子に応じた上記コマンド生成プログラム７１、７２を、いずれかのサブＤＬＬ４２、４３から呼び出す。上記した例で言えば、カラー画像印刷機能を示す識別子が指定された場合、第１サブＤＬＬ４２に記憶されたカラー印刷コマンド生成プログラムを呼び出す。一方、モノクロ画像印刷機能を示す識別子が指定された場合、第１サブＤＬＬ４２上のカラー印刷コマンド生成プログラムを呼び出す。
制御部２２は、この呼び出したサブＤＬＬ４２上のコマンド生成プログラム７１、７２に従って、印刷制御コマンドを生成する。このように、ＵＰＯＳドライバー３２では、制御部２２が、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３を介して、サブＤＬＬ４２、４３上のコマンド生成プログラム７１、７２を実行することで、拡張機能を実現する。
【００３２】
コマンド送信プログラム６４は、ＵＰＯＳドライバー３２上で生成した制御コマンドを、通信部２１によりＰＯＳプリンター１に送信するためのプログラムである。すなわち、制御部２２は、コマンド送信プログラム６４に従って、上記各プログラムで生成した各種制御コマンドを、通信部２１によりＰＯＳプリンター１に送信する。
【００３３】
ここで図４を参照して、ＰＯＳシステムＳＹによる印刷動作について説明する。なお、ここでは、テキスト印刷、バーコード印刷および拡張機能の印刷のそれぞれの場合における各動作について説明する。
【００３４】
図４に示すように、テキスト印刷の場合には、まず、ＰＯＳ端末２の制御部２２が、アプリケーション３１に従い、テキスト印刷用ＡＰＩ５１に対応するコマンド名を指定してテキスト印刷用ＡＰＩ５１を呼び出すと共に、テキストデータを指定する（Ｓ１）。その後、制御部２２は、呼び出したテキスト印刷用ＡＰＩ５１に従って、テキスト印刷コマンド生成プログラム６１を呼び出す（Ｓ２）。そして、呼び出したテキスト印刷コマンド生成プログラム６１に従い、指定したテキストデータに基づいて、テキスト印刷コマンドを生成する（Ｓ３）。テキスト印刷コマンドを生成したら、コマンド送信プログラム６４に従い、生成したテキスト印刷コマンドを、ＰＯＳプリンター１に送信する（Ｓ４）。これに対し、ＰＯＳプリンター１は、ＰＯＳ端末２からのテキスト印刷コマンドを受信し、受信したテキスト印刷コマンドに基づく印刷処理を行う（Ｓ５）。これによって、テキスト印刷の場合の印刷動作を終了する。
【００３５】
一方、バーコード印刷の場合には、まず、ＰＯＳ端末２の制御部２２が、アプリケーション３１に従い、バーコード印刷用ＡＰＩ５２に対応するコマンド名を指定してバーコード印刷用ＡＰＩ５２を呼び出すと共に、バーコードの種類を示す識別子とコード情報とを指定する（Ｓ６）。その後、制御部２２は、呼び出したバーコード印刷用ＡＰＩ５２に従って、指定した識別子に応じたバーコード印刷コマンド生成プログラム６２、６３を呼び出す（Ｓ７）。そして、呼び出したバーコード印刷コマンド生成プログラム６２、６３に従い、指定したコード情報に基づいて、バーコード印刷コマンドを生成する（Ｓ８）。バーコード印刷コマンドを生成したら、コマンド送信プログラム６４に従い、生成したバーコード印刷コマンドを、ＰＯＳプリンター１に送信する（Ｓ９）。これに対し、ＰＯＳプリンター１は、ＰＯＳ端末２からのバーコード印刷コマンドを受信し、受信したバーコード印刷コマンドに基づく印刷処理を行う（Ｓ１０）。これによって、バーコード印刷の場合の印刷動作を終了する。
【００３６】
さらに、拡張機能の印刷の場合には、まず、ＰＯＳ端末２の制御部２２が、アプリケーション３１に従い、拡張機能を示すコマンド名を指定してＤｉｒｅｃｔＩＯ用ＡＰＩ５３を呼び出すと共に、拡張機能の種類を示す識別子と、拡張機能に利用するデータとを指定する（Ｓ１１）。その後、制御部２２は、呼び出したＤｉｒｅｃｔＩＯ用ＡＰＩ５３に従って、指定した識別子に応じたコマンド生成プログラム７１、７２を、いずれかのサブＤＬＬ４２、４３から呼び出す（Ｓ１２）。そして、呼び出したコマンド生成プログラム７１、７２に従い、指定したデータに基づいて、拡張機能用の印刷制御コマンドを生成する（Ｓ１３）。拡張機能用の印刷制御コマンドを生成したら、コマンド送信プログラム６４に従い、生成した印刷制御コマンドを、ＰＯＳプリンター１に送信する（Ｓ１４）。これに対し、ＰＯＳプリンター１は、ＰＯＳ端末２からの印刷制御コマンドを受信し、受信した印刷制御コマンドに基づく印刷処理を行う（Ｓ１５）。これによって、拡張機能の印刷の場合の印刷動作を終了する。
【００３７】
以上のような構成によれば、各機能をそれぞれ実現するための第１コマンド生成プログラム７１および第２コマンド生成プログラム７２を、メインＤＬＬ４１とは別体（非一体）の各サブＤＬＬ４２、４３から呼び出して、各機能を実現する構成であるため、ＵＰＯＳドライバー３２に機能を追加する場合には、主に、その機能を実現するためのサブＤＬＬ４２、４３を追加するだけで良く、他のＤＬＬ（メインＤＬＬ４１や他のサブＤＬＬ４２、４３）に極力干渉せずに、機能を追加することができる。また、ＵＰＯＳドライバー３２の一部の機能をアップデートする場合にも、他のＤＬＬに極力干渉せずに、一部の機能をアップデートすることができる。よって、ＵＰＯＳドライバー３２における機能の追加や一部の機能のアップデートに際し、ＵＰＯＳドライバー３２全体が利用できなくなる事態を避けることができ、ＰＯＳ端末２が利用できなくなる事態を避けることができる。
【００３８】
なお、上記実施形態においては、入力データとして指定された識別子に応じて、識別子に対応したコマンド生成プログラム７１、７２をいずれかのサブＤＬＬ４２、４３から呼び出す構成としたが、上記入力パラメーターに含まれた識別子に応じて、識別子に対応したコマンド生成プログラム７１、７２を呼び出す構成であれば、これに限るものではない。すなわち、指定するコマンド名を識別子として用い、コマンド名に応じて、コマンド名に対応したコマンド生成プログラム７１、７２をいずれかのサブＤＬＬ４２、４３から呼び出す構成でも良い。
【００３９】
［第２実施形態］
ここで図５を参照して、本発明の第２実施形態について第１実施形態とは異なる部分のみ説明する。第２実施形態は、ＵＰＯＳドライバー３２が、識別子とコマンド生成プログラム７１、７２との対応関係を示す対応関係データベース８１を備えると共に、当該対応関係データベース８１を、メインＤＬＬ４１外に設ける構成を有する。
【００４０】
図５に示すように、第２実施形態におけるＵＰＯＳドライバー３２は、図３に示した各ＤＬＬ４１、４２、４３に加え、対応関係データベース８１を備える。対応関係データベース８１は、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３（ＤｉｒｅｃｔＩＯ用ＡＰＩ５３に従う制御部２２）で用いられるものであり、各識別子と、複数のサブＤＬＬ４２、４３に記憶された各コマンド生成プログラム７１、７２と、の対応関係を記憶する。そして、対応関係データベース８１は、メインＤＬＬ４１とは別体で構成されたデータベースであり、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３から参照可能に構成される。これに対し、第２実施形態のＤｉｒｅｃｔＩＯ用ＡＰＩ５３は、対応関係データベース８１を参照して、この対応関係データベース８１に基づいて、識別子に応じたコマンド生成プログラム７１、７２を、いずれかのサブＤＬＬ４２、４３から呼び出すためのＡＰＩである。すなわち、制御部２２は、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３に従って、対応関係データベース８１を参照し、この対応関係データベース８１に基づいて、識別子に応じたコマンド生成プログラム７１、７２を決定する。そして、決定したコマンド生成プログラム７１、７２を、そのコマンド生成プログラム７１、７２を記憶したサブＤＬＬ４２、４３から呼び出す。
【００４１】
このように、各識別子と、各サブＤＬＬ４２、４３のコマンド生成プログラム７１、７２と、の対応関係を記憶したデータベースについても、メインＤＬＬ４１と別体で構成することで、より容易且つ柔軟に、ＵＰＯＳドライバー３２における機能の追加等を行うことができる。なお、対応関係データベース８１は、各識別子と、各コマンド生成プログラム７１、７２の保存先を示すファイル名と、を対応付けて記憶することで、各識別子と、各コマンド生成プログラム７１、７２との対応関係を記憶することが好ましい。
【００４２】
［第３実施形態］
次に図６を参照して、本発明の第３実施形態について、第１実施形態とは異なる部分のみ説明する。第３実施形態は、ＤｉｒｅｃｔＩＯ用ＡＰＩ５３以外のＡＰＩで呼び出されるプログラムについても、メインＤＬＬ４１とは別体のサブＤＬＬ４４、４５、４６に記憶する構成である。
【００４３】
図６に示すように、第３実施形態のＵＰＯＳドライバー３２は、図３に記載の各ＤＬＬ４１、４２、４３に加え、テキスト印刷コマンド生成プログラム６１を記憶する第３サブＤＬＬ４４と、各バーコード印刷コマンド生成プログラム６２、６３を記憶する第４サブＤＬＬ４５および第５サブＤＬＬ４６と、を備える。これに対し、第３実施形態のテキスト印刷用ＡＰＩ５１は、テキスト印刷コマンド生成プログラム６１を第３サブＤＬＬ４４から呼び出すための外部プログラム呼出しＡＰＩとして用いられる。すなわち、制御部２２は、当該テキスト印刷用ＡＰＩ５１に従って、第３サブＤＬＬ４４上のテキスト印刷コマンド生成プログラム６１を呼び出す。また、第３実施形態のバーコード印刷用ＡＰＩ５２は、指定された、バーコードの種類を示す識別子に応じたバーコード印刷コマンド生成プログラム６２を、いずれかのサブＤＬＬ４５、４６から呼び出すための外部プログラム呼出しＡＰＩとして用いられる。すなわち、制御部２２は、バーコード印刷用ＡＰＩ５２に従って、各サブＤＬＬ４５、４６上のバーコード印刷コマンド生成プログラム６２を、当該識別子に応じて呼び出す。
【００４４】
このように、拡張機能ではない各機能のプログラムについても、メインＤＬＬ４１とは別体のサブＤＬＬ４２、４３に記憶することで、拡張機能ではない各機能のアップデートについても、他のＤＬＬに極力干渉せずに行うことができる。
【００４５】
なお、図７に示すように、第３実施形態において、各ＡＰＩ５１、５２、５３と、各コマンド生成プログラム６１、６２、６３、７１、７２との間に、ＤＬＬ判別プログラム８６を介在させる構成でも良い（第１変形例）。すなわち、各ＡＰＩ５１、５２、５３を、ＤＬＬ判別プログラム８６を呼び出すためのＡＰＩとして用いる。また、ＤＬＬ判別プログラム８６は、アプリケーション３１（アプリケーション実行部）により指定されたコマンド名および識別子に応じたコマンド生成プログラム６１、６２、６３、７１、７２を、いずれかのサブＤＬＬ４２、４３、４４、４５、４６から呼び出すためのプログラムである。すなわち、各ＡＰＩ５１、５２、５３（各ＡＰＩ５１、５２、５３に従う制御部２２）は、ＤＬＬ判別プログラム８６を介して、指定されたコマンド名および識別子に応じたコマンド生成プログラム６１、６２、６３、７１、７２を、いずれかのサブＤＬＬ４２、４３、４４、４５、４６から呼び出す構成となる。
【００４６】
また、第３実施形態では、各機能に対応したＡＰＩを備える構成としたが、図８に示すように、これらを統合したＡＰＩを用いる構成でも良い（第２変形例）。すなわち、ＵＰＯＳドライバー３２が、アプリケーション３１（アプリケーション実行部）から呼び出されるＡＰＩとして、図３に記載の各ＡＰＩに代え、これらを統合した統合ＡＰＩ９１を備える。統合ＡＰＩ９１は、アプリケーション３１（アプリケーション実行部）により指定されたコマンド名および識別子に応じたコマンド生成プログラム６１、６２、６３、７１、７２を、いずれかのサブＤＬＬ４２、４３、４４、４５、４６から呼び出すための外部プログラム呼出しＡＰＩである。すなわち、制御部２２は、統合ＡＰＩ９１に従い、当該コマンド名および当該識別子に応じたコマンド生成プログラム６１、６２、６３、７１、７２を、いずれかのサブＤＬＬ４２、４３、４４、４５、４６から呼び出す。
【００４７】
なお、上記各変形例において、第２実施形態と同様、ＵＰＯＳドライバー３２が、メインＤＬＬ４１とは別体の対応関係データベースを備える構成でも良い。すなわち、ＵＰＯＳドライバー３２が、各コマンド名および各識別子と、各コマンド生成プログラムとの対応関係を記憶し、ＤＬＬ判別プログラム８６や統合ＡＰＩ９１（これらに従う制御部２２）から参照可能な対応関係データベースを、更に備える構成でも良い。かかる場合、ＤＬＬ判別プログラム８６や統合ＡＰＩ９１（これらに従う制御部２２）は、当該対応関係データベースを参照しこれに基づいて、コマンド名および識別子に応じたコマンド生成プログラム６１、６２、６３、７１、７２を、いずれかのサブＤＬＬ４２、４３、４４、４５、４６から呼び出す。かかる場合、より容易且つ柔軟に、ＵＰＯＳドライバー３２における機能の追加等を行うことができる。
【００４８】
なお、上記各実施形態においては、ＡＰＩによって呼び出されるコマンド生成プログラムとして、印刷制御コマンドを生成するもののみを例示したが、ＡＰＩによって呼び出されるコマンド生成プログラムは、印刷制御コマンド以外の制御コマンドを生成するものでも良い。
【００４９】
また、上記各実施形態においては、ＵＰＯＳドライバー３２における、ＰＯＳプリンター１の制御に係る構成に、本発明を適用したが、ＰＯＳ周辺機器であれば、ＰＯＳプリンター以外のＰＯＳ周辺機器の制御に係る構成に、本発明を適用しても良い。すなわち、ＰＯＳプリンター１以外のＰＯＳ周辺機器を制御するためのＡＰＩやプログラムに、本発明を適用しても良い。なお、ＰＯＳプリンター１以外のＰＯＳ周辺機器としては、カスタマーディスプレイ、キャッシュドロア、カードリーダー等が考えられる。
【符号の説明】
【００５０】
３１…アプリケーション、３２…ＵＰＯＳドライバー、４１…メインＤＬＬ、４２…第１サブＤＬＬ、４３…第２サブＤＬＬ、５１…テキスト印刷用ＡＰＩ、５２…バーコード印刷用ＡＰＩ、５３…ＤｉｒｅｃｔＩＯ用ＡＰＩ、６１…テキスト印刷コマンド生成プログラム、６２、６３…バーコード印刷コマンド生成プログラム、６４…コマンド送信プログラム、７１…第１コマンド生成プログラム、７２…第２コマンド生成プログラム
【図１】
0006504001.tif 000002
【図２】
0006504001.tif 000003
【図３】
0006504001.tif 000004
【図４】
0006504001.tif 000005
【図５】
0006504001.tif 000006
【図６】
0006504001.tif 000007
【図７】
0006504001.tif 000008
【図８】
0006504001.tif 000009