--- a/DirectPrint/DirectPrintApp/data/directprintapp.loc Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/data/directprintapp.loc Tue May 11 14:10:02 2010 +0800
@@ -1,242 +1,242 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// LOCALISATION STRINGS
-
-// Caption string for app.
-#define text_directprint_captionstring "DirectPrint"
-
-#define text_directprint_loc_resource_file "\\resource\\apps\\directprintapp"
-
-#define text_directprint_setting_directory "c:\\system\\data\\"
-#define text_directprint_setting_file "c:\\system\\data\\directprintsetting.dat"
-
-// Menu item string
-#define text_directprint_menu_item_help "Help"
-#define text_directprint_menu_item_about "About"
-#define text_directprint_menu_item_exit "Back"
-
-// About dialog
-#define text_directprint_about_dialog_title "About"
-#define text_directprint_about_dialog_text "DirectPrintApp Version 1.0.0\n\nAuthor: K3"
-
-// error message
-#define text_directprint_msg_print_in_use "Print in use"
-#define text_directprint_msg_param_incorrect "Incorrect parameter"
-#define text_directprint_msg_param_file_not_found "File not found"
-#define text_directprint_msg_bearer_open_err "Bearer open error [%d]"
-#define text_directprint_msg_submit_print_err "Printing failed [%d]"
-#define text_directprint_msg_preview_err "Preview failed"
-
-// progress message
-#define text_directprint_printing_progress "Printing... %d/%d"
-#define text_directprint_searching_progress "Searching..."
-
-// information message
-#define text_directprint_msg_now_printing "Now printing"
-
-// Global menu item
-#define text_directprint_menu_print "Print"
-#define text_directprint_menu_preview "Preview"
-#define text_directprint_menu_change "Change"
-
-#define text_directprint_toolbar_print "Print"
-#define text_directprint_toolbar_preview "Preview"
-
-#define text_directprint_mainview_title "Print"
-#define text_directprint_mainview_menu_propertysetting "Property settings"
-#define text_directprint_mainview_menu_exit "Exit"
-#define text_directprint_mainview_toolbar_propertysetting "Property"
-#define text_directprint_mainview_item_printername "Printer Name"
-#define text_directprint_mainview_item_bearer "Bearer"
-#define text_directprint_mainview_item_propertysettings "Property Settings"
-
-#define text_directprint_printerlist_title "Printer list"
-#define text_directprint_printerlist_menu_search "Search"
-#define text_directprint_printerlist_menu_new "New"
-#define text_directprint_printerlist_menu_edit "Edit"
-#define text_directprint_printerlist_menu_delete "Delete"
-
-#define text_directprint_printersearch_title "Printer search"
-#define text_directprint_searchresult_menu_search "Search"
-
-#define text_directprint_printersetting_title "Printer settings"
-#define text_directprint_printersetting_item_printername "Printer name"
-#define text_directprint_printersetting_item_driver "Driver"
-#define text_directprint_printersetting_item_bearer "Bearer"
-#define text_directprint_printersetting_item_accesspoint "Access point"
-#define text_directprint_printersetting_item_host "Host"
-#define text_directprint_printersetting_item_port "Port"
-#define text_directprint_printersetting_item_username "User name"
-#define text_directprint_printersetting_item_que "Que"
-#define text_directprint_printersetting_item_type "Type"
-
-#define text_directprint_propertysetting_title "Property settings"
-#define text_directprint_propertysetting_tab_paper "Paper"
-#define text_directprint_propertysetting_tab_page "Page"
-#define text_directprint_propertysetting_tab_margin "Margin"
-#define text_directprint_propertysetting_tab_header "Header"
-#define text_directprint_propertysetting_tab_footer "Footer"
-#define text_directprint_propertysetting_item_papersize "Paper Size"
-#define text_directprint_propertysetting_item_orientation "Orientation"
-#define text_directprint_propertysetting_item_mediatype "Media type"
-#define text_directprint_propertysetting_item_printpage "Print page"
-#define text_directprint_propertysetting_item_printrange "Print range"
-#define text_directprint_propertysetting_item_copy "Number of copies"
-#define text_directprint_propertysetting_item_leftmargin "Margin from left"
-#define text_directprint_propertysetting_item_rightmargin "Margin from right"
-#define text_directprint_propertysetting_item_topmargin "Margin from top"
-#define text_directprint_propertysetting_item_bottommargin "Margin from bottom"
-#define text_directprint_propertysetting_item_headertext "Header text"
-#define text_directprint_propertysetting_item_headerdistance "Distance from top"
-#define text_directprint_propertysetting_item_headerfirstpage "Include on first page"
-#define text_directprint_propertysetting_item_footertext "Footer text"
-#define text_directprint_propertysetting_item_footerdistance "Distance from bottom"
-#define text_directprint_propertysetting_item_footerfirstpage "Include on first page"
-#define text_directprint_propertysetting_item_boaderless "Boaderless"
-
-#define text_directprint_orientation_portrate "Portrate"
-#define text_directprint_orientation_landscape "Landscape"
-
-#define text_directprint_range_all "All"
-#define text_directprint_range_odd "Odd"
-#define text_directprint_range_even "Even"
-
-#define text_directprint_yes "Yes"
-#define text_directprint_no "No"
-
-#define text_directprint_previewview_title "Preview"
-#define text_directprint_previewview_expand "Expand"
-#define text_directprint_previewview_reduce "Reduce"
-
-
-
-
-
-// ----------------------------------------------------------------------------
-//
-// For directprint engine
-//
-// ----------------------------------------------------------------------------
-//
-//
-
-// d:Paper size capability presented in the list box in print settings view
-// l:list_setting_pane_t1
-#define qtn_print_settings_paper_size "Paper size"
-
-// d:Paper size "Automatic" in the print settings view settings value
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_auto "Automatic"
-
-// d:Paper size "US Letter" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_letter "US Letter"
-
-// d:Paper size "A4" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_a4 "A4"
-
-// d:Paper size "A6" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_a6 "A6"
-
-// d:Paper size "4x6" in the print settings view list box / pop-up window
-// d:4x6 means paper size of 4 inches by 6 inches. This needs to be converted
-// d:in country localizations that use metric system
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_4x6 "4x6"
-
-// d:Paper size "5x7" in the print settings view list box / pop-up window
-// d:5x7 means paper size of 5 inches by 7 inches. This needs to be converted
-// d:in country localizations that use metric system
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_5x7 "5x7"
-
-// d:Paper size "Sticker" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_paper_size_sticker "Sticker"
-
-// d:Print quality capability presented in the list box in print settings view
-// l:list_setting_pane_t1
-#define qtn_print_settings_print_quality "Print quality"
-
-// d:Print quality "Automatic" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_quality_auto "Automatic"
-
-// d:Print quality "Normal" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_quality_normal "Normal"
-
-// d:Print quality "Draft" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_quality_draft "Draft"
-
-// d:Print quality "Fine" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_quality_fine "Fine"
-
-// d:Template capability as settings item in settings view
-// l:list_setting_pane_t1
-#define qtn_print_settings_template "Images per page"
-
-// d:Template 1 per page "1 borderless" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_settings_bless "1 borderless"
-
-// d:Default printer "PictBridge" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_settings_default_usb "PictBridge"
-
-// d:Default printer "Bluetooth" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_settings_default_bt "Bluetooth"
-
-// d:Default printer "WLAN printer" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_settings_default_wlan "WLAN printer"
-
-// d:Default printer "LPR printer" in the print settings view list box / pop-up window
-// l:list_set_graphic_pane_t1
-#define qtn_print_settings_default_lpr "LPR"
-
-// d:Text on the device discovery pop-up list
-// l:list_single_large_graphic_pane_t1_cp2/opt1
-#define qtn_print_memory_card "Memory card"
-
-// d: Text when there is no printer selected in settings view
-// l: list_set_graphic_pane_t1
-// r: 6.2
-#define qtn_print_no_printer "No printer"
-
-#define qtn_print_settings_accesspoint "Access point"
-#define qtn_print_settings_host "Host"
-#define qtn_print_settings_port "Port"
-#define qtn_print_settings_user "User name"
-#define qtn_print_settings_que "Que"
-
-#define qtn_print_settings_extent "Extent Item"
-#define qtn_print_settings_extent2 "Extent Item2"
-#define qtn_print_settings_extent_select1 "Select1"
-#define qtn_print_settings_extent_select2 "Select2"
-#define qtn_print_settings_extent_select3 "Select3"
-#define qtn_print_settings_extent_select4 "Select4"
-
-
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// LOCALISATION STRINGS
+
+// Caption string for app.
+#define text_directprint_captionstring "DirectPrint"
+
+#define text_directprint_loc_resource_file "\\resource\\apps\\directprintapp"
+
+#define text_directprint_setting_directory "c:\\system\\data\\"
+#define text_directprint_setting_file "c:\\system\\data\\directprintsetting.dat"
+
+// Menu item string
+#define text_directprint_menu_item_help "Help"
+#define text_directprint_menu_item_about "About"
+#define text_directprint_menu_item_exit "Back"
+
+// About dialog
+#define text_directprint_about_dialog_title "About"
+#define text_directprint_about_dialog_text "DirectPrintApp Version 1.0.0\n\nAuthor: K3"
+
+// error message
+#define text_directprint_msg_print_in_use "Print in use"
+#define text_directprint_msg_param_incorrect "Incorrect parameter"
+#define text_directprint_msg_param_file_not_found "File not found"
+#define text_directprint_msg_bearer_open_err "Bearer open error [%d]"
+#define text_directprint_msg_submit_print_err "Printing failed [%d]"
+#define text_directprint_msg_preview_err "Preview failed"
+
+// progress message
+#define text_directprint_printing_progress "Printing... %d/%d"
+#define text_directprint_searching_progress "Searching..."
+
+// information message
+#define text_directprint_msg_now_printing "Now printing"
+
+// Global menu item
+#define text_directprint_menu_print "Print"
+#define text_directprint_menu_preview "Preview"
+#define text_directprint_menu_change "Change"
+
+#define text_directprint_toolbar_print "Print"
+#define text_directprint_toolbar_preview "Preview"
+
+#define text_directprint_mainview_title "Print"
+#define text_directprint_mainview_menu_propertysetting "Property settings"
+#define text_directprint_mainview_menu_exit "Exit"
+#define text_directprint_mainview_toolbar_propertysetting "Property"
+#define text_directprint_mainview_item_printername "Printer Name"
+#define text_directprint_mainview_item_bearer "Bearer"
+#define text_directprint_mainview_item_propertysettings "Property Settings"
+
+#define text_directprint_printerlist_title "Printer list"
+#define text_directprint_printerlist_menu_search "Search"
+#define text_directprint_printerlist_menu_new "New"
+#define text_directprint_printerlist_menu_edit "Edit"
+#define text_directprint_printerlist_menu_delete "Delete"
+
+#define text_directprint_printersearch_title "Printer search"
+#define text_directprint_searchresult_menu_search "Search"
+
+#define text_directprint_printersetting_title "Printer settings"
+#define text_directprint_printersetting_item_printername "Printer name"
+#define text_directprint_printersetting_item_driver "Driver"
+#define text_directprint_printersetting_item_bearer "Bearer"
+#define text_directprint_printersetting_item_accesspoint "Access point"
+#define text_directprint_printersetting_item_host "Host"
+#define text_directprint_printersetting_item_port "Port"
+#define text_directprint_printersetting_item_username "User name"
+#define text_directprint_printersetting_item_que "Que"
+#define text_directprint_printersetting_item_type "Type"
+
+#define text_directprint_propertysetting_title "Property settings"
+#define text_directprint_propertysetting_tab_paper "Paper"
+#define text_directprint_propertysetting_tab_page "Page"
+#define text_directprint_propertysetting_tab_margin "Margin"
+#define text_directprint_propertysetting_tab_header "Header"
+#define text_directprint_propertysetting_tab_footer "Footer"
+#define text_directprint_propertysetting_item_papersize "Paper Size"
+#define text_directprint_propertysetting_item_orientation "Orientation"
+#define text_directprint_propertysetting_item_mediatype "Media type"
+#define text_directprint_propertysetting_item_printpage "Print page"
+#define text_directprint_propertysetting_item_printrange "Print range"
+#define text_directprint_propertysetting_item_copy "Number of copies"
+#define text_directprint_propertysetting_item_leftmargin "Margin from left"
+#define text_directprint_propertysetting_item_rightmargin "Margin from right"
+#define text_directprint_propertysetting_item_topmargin "Margin from top"
+#define text_directprint_propertysetting_item_bottommargin "Margin from bottom"
+#define text_directprint_propertysetting_item_headertext "Header text"
+#define text_directprint_propertysetting_item_headerdistance "Distance from top"
+#define text_directprint_propertysetting_item_headerfirstpage "Include on first page"
+#define text_directprint_propertysetting_item_footertext "Footer text"
+#define text_directprint_propertysetting_item_footerdistance "Distance from bottom"
+#define text_directprint_propertysetting_item_footerfirstpage "Include on first page"
+#define text_directprint_propertysetting_item_boaderless "Boaderless"
+
+#define text_directprint_orientation_portrate "Portrate"
+#define text_directprint_orientation_landscape "Landscape"
+
+#define text_directprint_range_all "All"
+#define text_directprint_range_odd "Odd"
+#define text_directprint_range_even "Even"
+
+#define text_directprint_yes "Yes"
+#define text_directprint_no "No"
+
+#define text_directprint_previewview_title "Preview"
+#define text_directprint_previewview_expand "Expand"
+#define text_directprint_previewview_reduce "Reduce"
+
+
+
+
+
+// ----------------------------------------------------------------------------
+//
+// For directprint engine
+//
+// ----------------------------------------------------------------------------
+//
+//
+
+// d:Paper size capability presented in the list box in print settings view
+// l:list_setting_pane_t1
+#define qtn_print_settings_paper_size "Paper size"
+
+// d:Paper size "Automatic" in the print settings view settings value
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_auto "Automatic"
+
+// d:Paper size "US Letter" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_letter "US Letter"
+
+// d:Paper size "A4" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_a4 "A4"
+
+// d:Paper size "A6" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_a6 "A6"
+
+// d:Paper size "4x6" in the print settings view list box / pop-up window
+// d:4x6 means paper size of 4 inches by 6 inches. This needs to be converted
+// d:in country localizations that use metric system
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_4x6 "4x6"
+
+// d:Paper size "5x7" in the print settings view list box / pop-up window
+// d:5x7 means paper size of 5 inches by 7 inches. This needs to be converted
+// d:in country localizations that use metric system
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_5x7 "5x7"
+
+// d:Paper size "Sticker" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_paper_size_sticker "Sticker"
+
+// d:Print quality capability presented in the list box in print settings view
+// l:list_setting_pane_t1
+#define qtn_print_settings_print_quality "Print quality"
+
+// d:Print quality "Automatic" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_quality_auto "Automatic"
+
+// d:Print quality "Normal" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_quality_normal "Normal"
+
+// d:Print quality "Draft" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_quality_draft "Draft"
+
+// d:Print quality "Fine" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_quality_fine "Fine"
+
+// d:Template capability as settings item in settings view
+// l:list_setting_pane_t1
+#define qtn_print_settings_template "Images per page"
+
+// d:Template 1 per page "1 borderless" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_settings_bless "1 borderless"
+
+// d:Default printer "PictBridge" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_settings_default_usb "PictBridge"
+
+// d:Default printer "Bluetooth" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_settings_default_bt "Bluetooth"
+
+// d:Default printer "WLAN printer" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_settings_default_wlan "WLAN printer"
+
+// d:Default printer "LPR printer" in the print settings view list box / pop-up window
+// l:list_set_graphic_pane_t1
+#define qtn_print_settings_default_lpr "LPR"
+
+// d:Text on the device discovery pop-up list
+// l:list_single_large_graphic_pane_t1_cp2/opt1
+#define qtn_print_memory_card "Memory card"
+
+// d: Text when there is no printer selected in settings view
+// l: list_set_graphic_pane_t1
+// r: 6.2
+#define qtn_print_no_printer "No printer"
+
+#define qtn_print_settings_accesspoint "Access point"
+#define qtn_print_settings_host "Host"
+#define qtn_print_settings_port "Port"
+#define qtn_print_settings_user "User name"
+#define qtn_print_settings_que "Que"
+
+#define qtn_print_settings_extent "Extent Item"
+#define qtn_print_settings_extent2 "Extent Item2"
+#define qtn_print_settings_extent_select1 "Select1"
+#define qtn_print_settings_extent_select2 "Select2"
+#define qtn_print_settings_extent_select3 "Select3"
+#define qtn_print_settings_extent_select4 "Select4"
+
+
+
+// End of File
--- a/DirectPrint/DirectPrintApp/data/directprintapp.rss Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/data/directprintapp.rss Tue May 11 14:10:02 2010 +0800
@@ -1,1740 +1,1740 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// RESOURCE IDENTIFIER
-NAME DIRE // 4 letter ID
-
-
-// INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.rh>
-#include <appinfo.rh>
-#include "DirectPrintApp.hrh"
-#include "DirectPrintApp.loc"
-
-#define AVKON_BMPFILE_NAME "z:\\resource\\apps\\avkon2.mbm"
-
-// RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-// Define the resource file signature
-// This resource should be empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// Default Document Name
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name
- {
- buf="DIRE";
- }
-
-// -----------------------------------------------------------------------------
-//
-// Define default menu and CBA key.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
- {
- menubar = r_directprint_menubar;
- cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_directprint_menubar
-// Main menubar
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_directprint_menubar
- {
- titles =
- {
- MENU_TITLE { menu_pane = r_directprint_menu; }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_directprint_menu
-// Menu for "Options"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_directprint_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdMainViewHelp;
- txt = text_directprint_menu_item_help;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdMainViewAbout;
- txt = text_directprint_menu_item_about;
- },
- MENU_ITEM
- {
- command = EAknSoftkeyExit;
- txt = text_directprint_menu_item_exit;
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// About dialog resource.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_about_query_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
- items=
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- itemflags = EEikDlgItemNonFocusing;
- control = AVKON_HEADING
- {
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
- }
-
-//-----------------------------------------------------------------------------
-//
-// r_directprint_print_progress_note
-// For progress note.
-//
-//-----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_directprint_print_progress_note
- {
- flags = EAknProgressNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EDirectPrintCtrlIdPrintProgressNote;
- control = AVKON_NOTE
- {
- layout = EProgressLayout;
- singular_label = text_directprint_printing_progress;
- imagefile = AVKON_BMPFILE_NAME;
- imageid = EMbmAvkonQgn_note_progress;
- imagemask = EMbmAvkonQgn_note_progress_mask;
- };
- }
- };
- }
-
-//-----------------------------------------------------------------------------
-//
-// r_directprint_search_progress_note
-// For progress note.
-//
-//-----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_directprint_search_progress_note
- {
- flags = EAknProgressNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EDirectPrintCtrlIdSearchProgressNote;
- control = AVKON_NOTE
- {
- layout = EProgressLayout;
- singular_label = text_directprint_searching_progress;
- imagefile = AVKON_BMPFILE_NAME;
- imageid = EMbmAvkonQgn_note_progress;
- imagemask = EMbmAvkonQgn_note_progress_mask;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-
- };
- }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// Resources for messages.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_directprint_caption_string { buf=text_directprint_captionstring; }
-RESOURCE TBUF r_directprint_about_dialog_title { buf=text_directprint_about_dialog_title; }
-RESOURCE TBUF r_directprint_about_dialog_text { buf=text_directprint_about_dialog_text; }
-
-RESOURCE TBUF r_directprint_msg_print_in_use { buf=text_directprint_msg_print_in_use; }
-RESOURCE TBUF r_directprint_msg_param_file_not_found { buf=text_directprint_msg_param_file_not_found; }
-RESOURCE TBUF r_directprint_msg_param_incorrect { buf=text_directprint_msg_param_incorrect; }
-RESOURCE TBUF r_directprint_msg_bearer_open_err { buf=text_directprint_msg_bearer_open_err; }
-RESOURCE TBUF r_directprint_msg_submit_print_err { buf=text_directprint_msg_submit_print_err; }
-RESOURCE TBUF r_directprint_msg_preview_err { buf=text_directprint_msg_preview_err; }
-
-RESOURCE TBUF r_directprint_msg_printing_progress { buf=text_directprint_printing_progress; }
-RESOURCE TBUF r_directprint_msg_searching_progress { buf=text_directprint_searching_progress; }
-
-RESOURCE TBUF r_directprint_msg_now_printing { buf=text_directprint_msg_now_printing; }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_localisable_app_info
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_directprint_localisable_app_info
- {
- short_caption = text_directprint_captionstring;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = text_directprint_captionstring;
- number_of_icons = 1;
- icon_file = "\\resource\\apps\\DirectPrintApp.mif";
- };
- }
-
-// -----------------------------------------------------------------------------
-//
-// Resources for messages.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_directprint_setting_directory { buf=text_directprint_setting_directory; }
-RESOURCE TBUF r_directprint_setting_file { buf=text_directprint_setting_file; }
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Print Main View
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-//
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_directprint_mainview
- {
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- menubar = r_directprint_mainview_options_menu;
- toolbar = r_directprint_mainview_toolbar;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview_title
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_directprint_mainview_title
- {
- txt = text_directprint_mainview_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview_options_menu
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_directprint_mainview_options_menu
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_directprint_mainview_options_menu_pane;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_directprint_mainview_options_menu_pane
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdMainViewPrint;
- txt = text_directprint_menu_print;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdMainViewPreview;
- txt = text_directprint_menu_preview;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdMainViewPropertySetting;
- txt = text_directprint_mainview_menu_propertysetting;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdMainViewExit;
- txt = text_directprint_mainview_menu_exit;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_directprint_mainview_toolbar
- {
- flags = KAknToolbarFixed;
- items =
- {
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdMainViewPrint;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_toolbar_print;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdMainViewPreview;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_toolbar_preview;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdMainViewPropertySetting;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_mainview_toolbar_propertysetting;
- }
- };
- };
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview_listbox
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_directprint_mainview_listbox
- {
- flags = EAknListBoxSelectionList;
-// array_id = r_directprint_mainview_listbox_items;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_mainview_listbox_items
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_directprint_mainview_listbox_items
- {
- items =
- {
- LBUF
- {
- txt = text_directprint_mainview_item_printername;
- },
- LBUF
- {
- txt = text_directprint_mainview_item_bearer;
- },
- LBUF
- {
- txt = text_directprint_mainview_item_propertysettings;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// Resources for item title.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_directprint_mainview_item_printername { buf=text_directprint_mainview_item_printername; }
-RESOURCE TBUF r_directprint_mainview_item_bearer { buf=text_directprint_mainview_item_bearer; }
-RESOURCE TBUF r_directprint_mainview_item_propertysettings { buf=text_directprint_mainview_item_propertysettings; }
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Printer List View
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-//
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_view
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_directprint_printerlist_view
- {
- cba = R_AVKON_SOFTKEYS_OPTIONS_DONE;
- menubar = r_directprint_printerlist_options_menu;
- toolbar = r_directprint_printerlist_toolbar;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_title
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_directprint_printerlist_title
- {
- txt = text_directprint_printerlist_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_options_menu
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_directprint_printerlist_options_menu
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_directprint_printerlist_options_menu_pane;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_directprint_printerlist_options_menu_pane
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPrinterListViewSearch;
- txt = text_directprint_printerlist_menu_search;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPrinterListViewNew;
- txt = text_directprint_printerlist_menu_new;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPrinterListViewEdit;
- txt = text_directprint_printerlist_menu_edit;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPrinterListViewDelete;
- txt = text_directprint_printerlist_menu_delete;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_toolbar
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_directprint_printerlist_toolbar
- {
- flags = KAknToolbarFixed;
- items =
- {
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPrinterListViewSearch;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_printerlist_menu_search;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPrinterListViewNew;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_printerlist_menu_new;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPrinterListViewEdit;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_printerlist_menu_edit;
- }
- };
- };
- }
- };
- }
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Printer search result View
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-//
-// ----------------------------------------------------------------------------
-//
-// r_directprint_searchresult_view
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_VIEW r_directprint_searchresult_view
- {
- cba = R_AVKON_SOFTKEYS_OPTIONS_CANCEL;
- menubar = r_directprint_searchresult_options_menu;
- toolbar = r_directprint_searchresult_toolbar;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersearch_title
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE TITLE_PANE r_directprint_printersearch_title
- {
- txt = text_directprint_printersearch_title;
- }
-
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_options_menu
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_directprint_searchresult_options_menu
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_directprint_searchresult_options_menu_pane;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_directprint_searchresult_options_menu_pane
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdSearchResultViewSearch;
- txt = text_directprint_searchresult_menu_search;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printerlist_toolbar
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_directprint_searchresult_toolbar
- {
- flags = KAknToolbarFixed;
- items =
- {
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdSearchResultViewSearch;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_searchresult_menu_search;
- }
- };
- };
- }
- };
- }
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Printer Setting View
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-//
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_view
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_VIEW r_directprint_printersetting_view
- {
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- menubar = r_directprint_printersetting_options_menu;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_title
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE TITLE_PANE r_directprint_printersetting_title
- {
- txt = text_directprint_printersetting_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_options_menu
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE MENU_BAR r_directprint_printersetting_options_menu
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_directprint_printersetting_options_menu_pane;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE MENU_PANE r_directprint_printersetting_options_menu_pane
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPrinterSettingViewChange;
- txt = text_directprint_menu_change;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_item_list
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_ITEM_LIST r_directprint_printersetting_item_list
- {
- title = text_directprint_printersetting_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_popup_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_popup_setting_page
- {
- type = EAknCtPopupSettingList;
- editor_resource_id = r_directprint_printersetting_popup_setting_list;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_popup_setting_list
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE POPUP_SETTING_LIST r_directprint_printersetting_popup_setting_list
- {
- flags = 0;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_text_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_text_setting_page
- {
- type = EEikCtEdwin;
- editor_resource_id = r_directprint_printersetting_text_edwin;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_text_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE EDWIN r_directprint_printersetting_text_edwin
- {
- width = 10;
- maxlength = 50;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_integer_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_integer_setting_page
- {
- type = EAknCtIntegerEdwin;
- editor_resource_id = r_directprint_printersetting_integer_edwin;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_integer_edwin
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_INTEGER_EDWIN r_directprint_printersetting_integer_edwin
- {
- min = 0;
- max = 65535;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_ipfield_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_ipfield_setting_page
- {
- type = EAknCtIpFieldEditor;
- editor_resource_id = r_directprint_printersetting_ip_editor;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_ip_editor
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE IP_FIELD_EDITOR r_directprint_printersetting_ip_editor
- {
- min_field_values = IP_FIELD
- {
- first_field = 0;
- second_field = 0;
- third_field = 0;
- fourth_field = 0;
- };
- max_field_values = IP_FIELD
- {
- first_field = 255;
- second_field = 255;
- third_field = 255;
- fourth_field = 255;
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_driver_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_driver_popup_setting_texts
- {
- setting_texts_resource = r_directprint_printersetting_driver_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_driver_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_printersetting_driver_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = "General";},
- AVKON_ENUMERATED_TEXT { value=1; text = "Canon";},
- AVKON_ENUMERATED_TEXT { value=2; text = "HP";}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_bearer_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_bearer_popup_setting_texts
- {
- setting_texts_resource = r_directprint_printersetting_bearer_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_bearer_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_printersetting_bearer_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = "File output";},
- AVKON_ENUMERATED_TEXT { value=1; text = "LPR";}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_bearer_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_accesspoint_popup_setting_texts
- {
- setting_texts_resource = r_directprint_printersetting_accesspoint_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_accesspoint_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_printersetting_accesspoint_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = "WLAN_ap1";},
- AVKON_ENUMERATED_TEXT { value=1; text = "WLAN_ap2";}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_type_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_type_popup_setting_texts
- {
- setting_texts_resource = r_directprint_printersetting_type_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_type_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_printersetting_type_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = "MP990";},
- AVKON_ENUMERATED_TEXT { value=1; text = "MP640";},
- AVKON_ENUMERATED_TEXT { value=2; text = "MP560";},
- AVKON_ENUMERATED_TEXT { value=3; text = "MX860";}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_popup_setting_texts
- {
- setting_texts_resource = r_directprint_printersetting_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_printersetting_type_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_printersetting_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = "dummy";}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// Resources for item title.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_directprint_printersetting_item_printername { buf=text_directprint_printersetting_item_printername; }
-RESOURCE TBUF r_directprint_printersetting_item_driver { buf=text_directprint_printersetting_item_driver; }
-RESOURCE TBUF r_directprint_printersetting_item_bearer { buf=text_directprint_printersetting_item_bearer; }
-RESOURCE TBUF r_directprint_printersetting_item_accesspoint { buf=text_directprint_printersetting_item_accesspoint; }
-RESOURCE TBUF r_directprint_printersetting_item_host { buf=text_directprint_printersetting_item_host; }
-RESOURCE TBUF r_directprint_printersetting_item_port { buf=text_directprint_printersetting_item_port; }
-RESOURCE TBUF r_directprint_printersetting_item_username { buf=text_directprint_printersetting_item_username; }
-RESOURCE TBUF r_directprint_printersetting_item_que { buf=text_directprint_printersetting_item_que; }
-RESOURCE TBUF r_directprint_printersetting_item_type { buf=text_directprint_printersetting_item_type; }
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Property Setting View
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-//
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_view
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_VIEW r_directprint_propertysetting_view
- {
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- menubar = r_directprint_propertysetting_options_menu;
- toolbar = r_directprint_propertysetting_toolbar;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_title
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE TITLE_PANE r_directprint_propertysetting_title
- {
- txt = text_directprint_propertysetting_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_options_menu
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE MENU_BAR r_directprint_propertysetting_options_menu
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_directprint_propertysetting_options_menu_pane;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE MENU_PANE r_directprint_propertysetting_options_menu_pane
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPropertySettingViewChange;
- txt = text_directprint_menu_change;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPropertySettingViewPrint;
- txt = text_directprint_menu_print;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPropertySettingViewPreview;
- txt = text_directprint_menu_preview;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_toolbar
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_TOOLBAR r_directprint_propertysetting_toolbar
- {
- flags = KAknToolbarFixed;
- items =
- {
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPropertySettingViewPrint;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_toolbar_print;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPropertySettingViewPreview;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_toolbar_preview;
- }
- };
- };
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_navi_decorator
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE NAVI_DECORATOR r_directprint_propertysetting_navi_decorator
- {
- type = ENaviDecoratorControlTabGroup;
- control = TAB_GROUP
- {
- tab_width = EAknTabWidthWithTwoLongTabs;
- active = 0;
- tabs =
- {
- TAB
- {
- id = EDirectPrintPaperSettingTab;
- txt = text_directprint_propertysetting_tab_paper;
- },
- TAB
- {
- id = EDirectPrintPageSettingTab;
- txt = text_directprint_propertysetting_tab_page;
- },
- TAB
- {
- id = EDirectPrintMarginSettingTab;
- txt = text_directprint_propertysetting_tab_margin;
- },
- TAB
- {
- id = EDirectPrintHeaderSettingTab;
- txt = text_directprint_propertysetting_tab_header;
- },
- TAB
- {
- id = EDirectPrintFooterSettingTab;
- txt = text_directprint_propertysetting_tab_footer;
- }
- };
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_setting_item_list
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_ITEM_LIST r_directprint_propertysetting_setting_item_list
- {
- title = text_directprint_propertysetting_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_popup_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_propertysetting_popup_setting_page
- {
- type = EAknCtPopupSettingList;
- editor_resource_id = r_directprint_propertysetting_popup_setting_list;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_popup_setting_list
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE POPUP_SETTING_LIST r_directprint_propertysetting_popup_setting_list
- {
- flags = 0;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_text_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_propertysetting_text_setting_page
- {
- type = EEikCtEdwin;
- editor_resource_id = r_directprint_propertysetting_text_edwin;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_text_edwin
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE EDWIN r_directprint_propertysetting_text_edwin
- {
- width = 10;
- maxlength = 50;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_integer_setting_page
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_SETTING_PAGE r_directprint_propertysetting_integer_setting_page
- {
- type = EAknCtIntegerEdwin;
- editor_resource_id = r_directprint_propertysetting_integer_edwin;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_integer_edwin
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_INTEGER_EDWIN r_directprint_propertysetting_integer_edwin
- {
- min = 0;
- max = 150;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_size_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_size_popup_setting_texts
- {
- setting_texts_resource = r_directprint_propertysetting_size_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_size_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_propertysetting_size_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = "A4";},
- AVKON_ENUMERATED_TEXT { value=1; text = "A5";},
- AVKON_ENUMERATED_TEXT { value=2; text = "B5";},
- AVKON_ENUMERATED_TEXT { value=3; text = "Letter";},
- AVKON_ENUMERATED_TEXT { value=4; text = "Regal";},
- AVKON_ENUMERATED_TEXT { value=5; text = "Post card";},
- AVKON_ENUMERATED_TEXT { value=6; text = "Envelope";}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_orientation_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_orientation_popup_setting_texts
- {
- setting_texts_resource = r_directprint_propertysetting_orientation_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_orientation_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_propertysetting_orientation_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT
- {
- value=0;
- text = text_directprint_orientation_portrate;
- },
- AVKON_ENUMERATED_TEXT
- {
- value=1;
- text = text_directprint_orientation_landscape;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_mediatype_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_mediatype_popup_setting_texts
- {
- setting_texts_resource = r_directprint_propertysetting_mediatype_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_orientation_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_propertysetting_mediatype_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT
- {
- value = 0;
- text = "Plain";
- },
- AVKON_ENUMERATED_TEXT
- {
- value=1;
- text = "Photo";
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_boaderless_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_boaderless_popup_setting_texts
- {
- setting_texts_resource = r_directprint_propertysetting_boaderless_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_orientation_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_propertysetting_boaderless_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT
- {
- value = 0;
- text = "OFF";
- },
- AVKON_ENUMERATED_TEXT
- {
- value=1;
- text = "ON";
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_page_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_range_popup_setting_texts
- {
- setting_texts_resource = r_directprint_propertysetting_range_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_range_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_propertysetting_range_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = text_directprint_range_all;},
- AVKON_ENUMERATED_TEXT { value=1; text = text_directprint_range_odd;},
- AVKON_ENUMERATED_TEXT { value=2; text = text_directprint_range_even;}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_print_popup_setting_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_print_popup_setting_texts
- {
- setting_texts_resource = r_directprint_propertysetting_print_texts;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_propertysetting_print_texts
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE ARRAY r_directprint_propertysetting_print_texts
- {
- items =
- {
- AVKON_ENUMERATED_TEXT { value=0; text = text_directprint_no;},
- AVKON_ENUMERATED_TEXT { value=1; text = text_directprint_yes;}
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// Resources for item title.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_directprint_propertysetting_item_papersize { buf=text_directprint_propertysetting_item_papersize; }
-RESOURCE TBUF r_directprint_propertysetting_item_orientation { buf=text_directprint_propertysetting_item_orientation; }
-RESOURCE TBUF r_directprint_propertysetting_item_mediatype { buf=text_directprint_propertysetting_item_mediatype; }
-RESOURCE TBUF r_directprint_propertysetting_item_printpage { buf=text_directprint_propertysetting_item_printpage; }
-RESOURCE TBUF r_directprint_propertysetting_item_printrange { buf=text_directprint_propertysetting_item_printrange; }
-RESOURCE TBUF r_directprint_propertysetting_item_copy { buf=text_directprint_propertysetting_item_copy; }
-RESOURCE TBUF r_directprint_propertysetting_item_leftmargin { buf=text_directprint_propertysetting_item_leftmargin; }
-RESOURCE TBUF r_directprint_propertysetting_item_rightmargin { buf=text_directprint_propertysetting_item_rightmargin; }
-RESOURCE TBUF r_directprint_propertysetting_item_topmargin { buf=text_directprint_propertysetting_item_topmargin; }
-RESOURCE TBUF r_directprint_propertysetting_item_bottommargin { buf=text_directprint_propertysetting_item_bottommargin; }
-RESOURCE TBUF r_directprint_propertysetting_item_headertext { buf=text_directprint_propertysetting_item_headertext; }
-RESOURCE TBUF r_directprint_propertysetting_item_headerdistance { buf=text_directprint_propertysetting_item_headerdistance; }
-RESOURCE TBUF r_directprint_propertysetting_item_headerfirstpage { buf=text_directprint_propertysetting_item_headerfirstpage; }
-RESOURCE TBUF r_directprint_propertysetting_item_footertext { buf=text_directprint_propertysetting_item_footertext; }
-RESOURCE TBUF r_directprint_propertysetting_item_footerdistance { buf=text_directprint_propertysetting_item_footerdistance; }
-RESOURCE TBUF r_directprint_propertysetting_item_footerfirstpage { buf=text_directprint_propertysetting_item_footerfirstpage; }
-
-RESOURCE TBUF r_directprint_propertysetting_item_boaderless { buf=text_directprint_propertysetting_item_boaderless; }
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Preview View
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-//
-// ----------------------------------------------------------------------------
-//
-// r_directprint_preview_view
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_VIEW r_directprint_preview_view
- {
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- menubar = r_directprint_preview_options_menu;
- toolbar = r_directprint_preview_toolbar;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_preview_title
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE TITLE_PANE r_directprint_preview_title
- {
- txt = text_directprint_previewview_title;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_preview_options_menu
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE MENU_BAR r_directprint_preview_options_menu
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_directprint_preview_options_menu_pane;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_preview_options_menu_pane
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE MENU_PANE r_directprint_preview_options_menu_pane
- {
- items =
- {
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPreviewViewPrint;
- txt = text_directprint_menu_print;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPreviewViewExpand;
- txt = text_directprint_previewview_expand;
- },
- MENU_ITEM
- {
- command = EDirectPrintCmdIdPreviewViewReduce;
- txt = text_directprint_previewview_reduce;
- }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_directprint_preview_toolbar
-//
-// ----------------------------------------------------------------------------
-//
-//
-RESOURCE AVKON_TOOLBAR r_directprint_preview_toolbar
- {
- flags = KAknToolbarFixed;
- items =
- {
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPreviewViewPrint;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_toolbar_print;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPreviewViewExpand;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_previewview_expand;
- }
- };
- };
- },
- TBAR_CTRL
- {
- type = EAknCtButton;
- id = EDirectPrintCmdIdPreviewViewReduce;
- control = AVKON_BUTTON
- {
- flags = 0;
- states =
- {
- AVKON_BUTTON_STATE
- {
- txt = text_directprint_previewview_reduce;
- }
- };
- };
- }
- };
- }
-
-
-
-
-
-// ----------------------------------------------------------------------------
-//
-// For directprint engine
-//
-// ----------------------------------------------------------------------------
-//
-//
-
-// d:List box format string - do not localize this!
-#define qtn_lbox_format "\t%0U\t\t%1U"
-
-// Resource strings
-RESOURCE TBUF R_QTN_LBOX_FORMAT { buf = qtn_lbox_format; }
-RESOURCE TBUF R_EMPTY { buf = ""; }
-
-// Paper sizes
-RESOURCE TBUF R_QTN_STR_PAPER_SIZE { buf = qtn_print_settings_paper_size; }
-RESOURCE TBUF R_QTN_STR_SIZE_AUTO { buf = qtn_print_paper_size_auto; }
-RESOURCE TBUF R_QTN_STR_SIZE_LETTER { buf = qtn_print_paper_size_letter; }
-RESOURCE TBUF R_QTN_STR_SIZE_A4 { buf = qtn_print_paper_size_a4; }
-RESOURCE TBUF R_QTN_STR_SIZE_A6 { buf = qtn_print_paper_size_a6; }
-RESOURCE TBUF R_QTN_STR_SIZE_4X6 { buf = qtn_print_paper_size_4x6; }
-RESOURCE TBUF R_QTN_STR_SIZE_5X7 { buf = qtn_print_paper_size_5x7; }
-RESOURCE TBUF R_QTN_STR_SIZE_STICKER { buf = qtn_print_paper_size_sticker; }
-
-// Print quality
-RESOURCE TBUF R_QTN_STR_QUALITY { buf = qtn_print_settings_print_quality; }
-RESOURCE TBUF R_QTN_STR_QUAL_AUTO { buf = qtn_print_quality_auto; }
-RESOURCE TBUF R_QTN_STR_QUAL_NORMAL { buf = qtn_print_quality_normal; }
-RESOURCE TBUF R_QTN_STR_QUAL_DRAFT { buf = qtn_print_quality_draft; }
-RESOURCE TBUF R_QTN_STR_QUAL_FINE { buf = qtn_print_quality_fine; }
-
-// Template
-RESOURCE TBUF R_QTN_STR_TEMPLATE { buf = qtn_print_settings_template; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_BLESS { buf = qtn_print_settings_bless; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_ONE { buf = "1"; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_TWO { buf = "2"; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_FOUR { buf = "4"; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_SIX { buf = "6"; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_NINE { buf = "9"; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_TWELVE { buf = "12"; }
-RESOURCE TBUF R_QTN_STR_TEMPLATE_SIXTEEN { buf = "16"; }
-
-//
-RESOURCE TBUF r_qtn_print_no_printers { buf = qtn_print_no_printers; }
-RESOURCE TBUF r_qtn_print_settings_default_usb { buf = qtn_print_settings_default_usb; }
-RESOURCE TBUF r_qtn_print_settings_default_bt { buf = qtn_print_settings_default_bt; }
-RESOURCE TBUF r_qtn_print_settings_default_wlan { buf = qtn_print_settings_default_wlan; }
-RESOURCE TBUF r_qtn_print_settings_default_lpr { buf = qtn_print_settings_default_lpr; }
-RESOURCE TBUF r_qtn_print_memory_card { buf = qtn_print_memory_card; }
-
-// DirectPrint
-RESOURCE TBUF R_QTN_STR_ACCESS_POINT { buf = qtn_print_settings_accesspoint; }
-RESOURCE TBUF R_QTN_STR_HOST { buf = qtn_print_settings_host; }
-RESOURCE TBUF R_QTN_STR_PORT { buf = qtn_print_settings_port; }
-RESOURCE TBUF R_QTN_STR_USER { buf = qtn_print_settings_user; }
-RESOURCE TBUF R_QTN_STR_QUE { buf = qtn_print_settings_que; }
-
-// Extent
-RESOURCE TBUF R_QTN_STR_EXTENT { buf = qtn_print_settings_extent; }
-RESOURCE TBUF R_QTN_STR_EXTENT2 { buf = qtn_print_settings_extent2; }
-RESOURCE TBUF R_QTN_STR_EXTENT_SELECT1 { buf = qtn_print_settings_extent_select1; }
-RESOURCE TBUF R_QTN_STR_EXTENT_SELECT2 { buf = qtn_print_settings_extent_select2; }
-RESOURCE TBUF R_QTN_STR_EXTENT_SELECT3 { buf = qtn_print_settings_extent_select3; }
-RESOURCE TBUF R_QTN_STR_EXTENT_SELECT4 { buf = qtn_print_settings_extent_select4; }
-
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// RESOURCE IDENTIFIER
+NAME DIRE // 4 letter ID
+
+
+// INCLUDES
+#include <eikon.rh>
+#include <avkon.rsg>
+#include <avkon.mbg>
+#include <avkon.rh>
+#include <appinfo.rh>
+#include "DirectPrintApp.hrh"
+#include "DirectPrintApp.loc"
+
+#define AVKON_BMPFILE_NAME "z:\\resource\\apps\\avkon2.mbm"
+
+// RESOURCE DEFINITIONS
+// -----------------------------------------------------------------------------
+//
+// Define the resource file signature
+// This resource should be empty.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE RSS_SIGNATURE
+ {
+ }
+
+// -----------------------------------------------------------------------------
+//
+// Default Document Name
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_default_document_name
+ {
+ buf="DIRE";
+ }
+
+// -----------------------------------------------------------------------------
+//
+// Define default menu and CBA key.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE EIK_APP_INFO
+ {
+ menubar = r_directprint_menubar;
+ cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
+ }
+
+
+// -----------------------------------------------------------------------------
+//
+// r_directprint_menubar
+// Main menubar
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE MENU_BAR r_directprint_menubar
+ {
+ titles =
+ {
+ MENU_TITLE { menu_pane = r_directprint_menu; }
+ };
+ }
+
+
+// -----------------------------------------------------------------------------
+//
+// r_directprint_menu
+// Menu for "Options"
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_directprint_menu
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdMainViewHelp;
+ txt = text_directprint_menu_item_help;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdMainViewAbout;
+ txt = text_directprint_menu_item_about;
+ },
+ MENU_ITEM
+ {
+ command = EAknSoftkeyExit;
+ txt = text_directprint_menu_item_exit;
+ }
+ };
+ }
+
+// -----------------------------------------------------------------------------
+//
+// About dialog resource.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE DIALOG r_about_query_dialog
+ {
+ flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
+ buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
+ items=
+ {
+ DLG_LINE
+ {
+ type = EAknCtPopupHeadingPane;
+ id = EAknMessageQueryHeaderId;
+ itemflags = EEikDlgItemNonFocusing;
+ control = AVKON_HEADING
+ {
+ };
+ },
+ DLG_LINE
+ {
+ type = EAknCtMessageQuery;
+ id = EAknMessageQueryContentId;
+ control = AVKON_MESSAGE_QUERY
+ {
+ };
+ }
+ };
+ }
+
+//-----------------------------------------------------------------------------
+//
+// r_directprint_print_progress_note
+// For progress note.
+//
+//-----------------------------------------------------------------------------
+//
+RESOURCE DIALOG r_directprint_print_progress_note
+ {
+ flags = EAknProgressNoteFlags;
+ buttons = R_AVKON_SOFTKEYS_CANCEL;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtNote;
+ id = EDirectPrintCtrlIdPrintProgressNote;
+ control = AVKON_NOTE
+ {
+ layout = EProgressLayout;
+ singular_label = text_directprint_printing_progress;
+ imagefile = AVKON_BMPFILE_NAME;
+ imageid = EMbmAvkonQgn_note_progress;
+ imagemask = EMbmAvkonQgn_note_progress_mask;
+ };
+ }
+ };
+ }
+
+//-----------------------------------------------------------------------------
+//
+// r_directprint_search_progress_note
+// For progress note.
+//
+//-----------------------------------------------------------------------------
+//
+RESOURCE DIALOG r_directprint_search_progress_note
+ {
+ flags = EAknProgressNoteFlags;
+ buttons = R_AVKON_SOFTKEYS_CANCEL;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtNote;
+ id = EDirectPrintCtrlIdSearchProgressNote;
+ control = AVKON_NOTE
+ {
+ layout = EProgressLayout;
+ singular_label = text_directprint_searching_progress;
+ imagefile = AVKON_BMPFILE_NAME;
+ imageid = EMbmAvkonQgn_note_progress;
+ imagemask = EMbmAvkonQgn_note_progress_mask;
+ animation = R_QGN_GRAF_WAIT_BAR_ANIM;
+
+ };
+ }
+ };
+ }
+
+
+// -----------------------------------------------------------------------------
+//
+// Resources for messages.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_directprint_caption_string { buf=text_directprint_captionstring; }
+RESOURCE TBUF r_directprint_about_dialog_title { buf=text_directprint_about_dialog_title; }
+RESOURCE TBUF r_directprint_about_dialog_text { buf=text_directprint_about_dialog_text; }
+
+RESOURCE TBUF r_directprint_msg_print_in_use { buf=text_directprint_msg_print_in_use; }
+RESOURCE TBUF r_directprint_msg_param_file_not_found { buf=text_directprint_msg_param_file_not_found; }
+RESOURCE TBUF r_directprint_msg_param_incorrect { buf=text_directprint_msg_param_incorrect; }
+RESOURCE TBUF r_directprint_msg_bearer_open_err { buf=text_directprint_msg_bearer_open_err; }
+RESOURCE TBUF r_directprint_msg_submit_print_err { buf=text_directprint_msg_submit_print_err; }
+RESOURCE TBUF r_directprint_msg_preview_err { buf=text_directprint_msg_preview_err; }
+
+RESOURCE TBUF r_directprint_msg_printing_progress { buf=text_directprint_printing_progress; }
+RESOURCE TBUF r_directprint_msg_searching_progress { buf=text_directprint_searching_progress; }
+
+RESOURCE TBUF r_directprint_msg_now_printing { buf=text_directprint_msg_now_printing; }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_localisable_app_info
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE LOCALISABLE_APP_INFO r_directprint_localisable_app_info
+ {
+ short_caption = text_directprint_captionstring;
+ caption_and_icon =
+ CAPTION_AND_ICON_INFO
+ {
+ caption = text_directprint_captionstring;
+ number_of_icons = 1;
+ icon_file = "\\resource\\apps\\DirectPrintApp.mif";
+ };
+ }
+
+// -----------------------------------------------------------------------------
+//
+// Resources for messages.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_directprint_setting_directory { buf=text_directprint_setting_directory; }
+RESOURCE TBUF r_directprint_setting_file { buf=text_directprint_setting_file; }
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// Print Main View
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE AVKON_VIEW r_directprint_mainview
+ {
+ cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
+ menubar = r_directprint_mainview_options_menu;
+ toolbar = r_directprint_mainview_toolbar;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview_title
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE TITLE_PANE r_directprint_mainview_title
+ {
+ txt = text_directprint_mainview_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview_options_menu
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE MENU_BAR r_directprint_mainview_options_menu
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_directprint_mainview_options_menu_pane;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_directprint_mainview_options_menu_pane
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdMainViewPrint;
+ txt = text_directprint_menu_print;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdMainViewPreview;
+ txt = text_directprint_menu_preview;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdMainViewPropertySetting;
+ txt = text_directprint_mainview_menu_propertysetting;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdMainViewExit;
+ txt = text_directprint_mainview_menu_exit;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE AVKON_TOOLBAR r_directprint_mainview_toolbar
+ {
+ flags = KAknToolbarFixed;
+ items =
+ {
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdMainViewPrint;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_toolbar_print;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdMainViewPreview;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_toolbar_preview;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdMainViewPropertySetting;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_mainview_toolbar_propertysetting;
+ }
+ };
+ };
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview_listbox
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE LISTBOX r_directprint_mainview_listbox
+ {
+ flags = EAknListBoxSelectionList;
+// array_id = r_directprint_mainview_listbox_items;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_mainview_listbox_items
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE ARRAY r_directprint_mainview_listbox_items
+ {
+ items =
+ {
+ LBUF
+ {
+ txt = text_directprint_mainview_item_printername;
+ },
+ LBUF
+ {
+ txt = text_directprint_mainview_item_bearer;
+ },
+ LBUF
+ {
+ txt = text_directprint_mainview_item_propertysettings;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// Resources for item title.
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_directprint_mainview_item_printername { buf=text_directprint_mainview_item_printername; }
+RESOURCE TBUF r_directprint_mainview_item_bearer { buf=text_directprint_mainview_item_bearer; }
+RESOURCE TBUF r_directprint_mainview_item_propertysettings { buf=text_directprint_mainview_item_propertysettings; }
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// Printer List View
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_view
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE AVKON_VIEW r_directprint_printerlist_view
+ {
+ cba = R_AVKON_SOFTKEYS_OPTIONS_DONE;
+ menubar = r_directprint_printerlist_options_menu;
+ toolbar = r_directprint_printerlist_toolbar;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_title
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE TITLE_PANE r_directprint_printerlist_title
+ {
+ txt = text_directprint_printerlist_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_options_menu
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE MENU_BAR r_directprint_printerlist_options_menu
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_directprint_printerlist_options_menu_pane;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_directprint_printerlist_options_menu_pane
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPrinterListViewSearch;
+ txt = text_directprint_printerlist_menu_search;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPrinterListViewNew;
+ txt = text_directprint_printerlist_menu_new;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPrinterListViewEdit;
+ txt = text_directprint_printerlist_menu_edit;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPrinterListViewDelete;
+ txt = text_directprint_printerlist_menu_delete;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_toolbar
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE AVKON_TOOLBAR r_directprint_printerlist_toolbar
+ {
+ flags = KAknToolbarFixed;
+ items =
+ {
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPrinterListViewSearch;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_printerlist_menu_search;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPrinterListViewNew;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_printerlist_menu_new;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPrinterListViewEdit;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_printerlist_menu_edit;
+ }
+ };
+ };
+ }
+ };
+ }
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// Printer search result View
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+// ----------------------------------------------------------------------------
+//
+// r_directprint_searchresult_view
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_VIEW r_directprint_searchresult_view
+ {
+ cba = R_AVKON_SOFTKEYS_OPTIONS_CANCEL;
+ menubar = r_directprint_searchresult_options_menu;
+ toolbar = r_directprint_searchresult_toolbar;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersearch_title
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE TITLE_PANE r_directprint_printersearch_title
+ {
+ txt = text_directprint_printersearch_title;
+ }
+
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_options_menu
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE MENU_BAR r_directprint_searchresult_options_menu
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_directprint_searchresult_options_menu_pane;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE MENU_PANE r_directprint_searchresult_options_menu_pane
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdSearchResultViewSearch;
+ txt = text_directprint_searchresult_menu_search;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printerlist_toolbar
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE AVKON_TOOLBAR r_directprint_searchresult_toolbar
+ {
+ flags = KAknToolbarFixed;
+ items =
+ {
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdSearchResultViewSearch;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_searchresult_menu_search;
+ }
+ };
+ };
+ }
+ };
+ }
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// Printer Setting View
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_view
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_VIEW r_directprint_printersetting_view
+ {
+ cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
+ menubar = r_directprint_printersetting_options_menu;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_title
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE TITLE_PANE r_directprint_printersetting_title
+ {
+ txt = text_directprint_printersetting_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_options_menu
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE MENU_BAR r_directprint_printersetting_options_menu
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_directprint_printersetting_options_menu_pane;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE MENU_PANE r_directprint_printersetting_options_menu_pane
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPrinterSettingViewChange;
+ txt = text_directprint_menu_change;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_item_list
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_ITEM_LIST r_directprint_printersetting_item_list
+ {
+ title = text_directprint_printersetting_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_popup_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_popup_setting_page
+ {
+ type = EAknCtPopupSettingList;
+ editor_resource_id = r_directprint_printersetting_popup_setting_list;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_popup_setting_list
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE POPUP_SETTING_LIST r_directprint_printersetting_popup_setting_list
+ {
+ flags = 0;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_text_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_text_setting_page
+ {
+ type = EEikCtEdwin;
+ editor_resource_id = r_directprint_printersetting_text_edwin;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_text_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE EDWIN r_directprint_printersetting_text_edwin
+ {
+ width = 10;
+ maxlength = 50;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_integer_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_integer_setting_page
+ {
+ type = EAknCtIntegerEdwin;
+ editor_resource_id = r_directprint_printersetting_integer_edwin;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_integer_edwin
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_INTEGER_EDWIN r_directprint_printersetting_integer_edwin
+ {
+ min = 0;
+ max = 65535;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_ipfield_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_printersetting_ipfield_setting_page
+ {
+ type = EAknCtIpFieldEditor;
+ editor_resource_id = r_directprint_printersetting_ip_editor;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_ip_editor
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE IP_FIELD_EDITOR r_directprint_printersetting_ip_editor
+ {
+ min_field_values = IP_FIELD
+ {
+ first_field = 0;
+ second_field = 0;
+ third_field = 0;
+ fourth_field = 0;
+ };
+ max_field_values = IP_FIELD
+ {
+ first_field = 255;
+ second_field = 255;
+ third_field = 255;
+ fourth_field = 255;
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_driver_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_driver_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_printersetting_driver_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_driver_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_printersetting_driver_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = "General";},
+ AVKON_ENUMERATED_TEXT { value=1; text = "Canon";},
+ AVKON_ENUMERATED_TEXT { value=2; text = "HP";}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_bearer_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_bearer_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_printersetting_bearer_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_bearer_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_printersetting_bearer_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = "File output";},
+ AVKON_ENUMERATED_TEXT { value=1; text = "LPR";}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_bearer_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_accesspoint_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_printersetting_accesspoint_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_accesspoint_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_printersetting_accesspoint_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = "WLAN_ap1";},
+ AVKON_ENUMERATED_TEXT { value=1; text = "WLAN_ap2";}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_type_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_type_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_printersetting_type_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_type_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_printersetting_type_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = "MP990";},
+ AVKON_ENUMERATED_TEXT { value=1; text = "MP640";},
+ AVKON_ENUMERATED_TEXT { value=2; text = "MP560";},
+ AVKON_ENUMERATED_TEXT { value=3; text = "MX860";}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_printersetting_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_printersetting_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_printersetting_type_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_printersetting_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = "dummy";}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// Resources for item title.
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_directprint_printersetting_item_printername { buf=text_directprint_printersetting_item_printername; }
+RESOURCE TBUF r_directprint_printersetting_item_driver { buf=text_directprint_printersetting_item_driver; }
+RESOURCE TBUF r_directprint_printersetting_item_bearer { buf=text_directprint_printersetting_item_bearer; }
+RESOURCE TBUF r_directprint_printersetting_item_accesspoint { buf=text_directprint_printersetting_item_accesspoint; }
+RESOURCE TBUF r_directprint_printersetting_item_host { buf=text_directprint_printersetting_item_host; }
+RESOURCE TBUF r_directprint_printersetting_item_port { buf=text_directprint_printersetting_item_port; }
+RESOURCE TBUF r_directprint_printersetting_item_username { buf=text_directprint_printersetting_item_username; }
+RESOURCE TBUF r_directprint_printersetting_item_que { buf=text_directprint_printersetting_item_que; }
+RESOURCE TBUF r_directprint_printersetting_item_type { buf=text_directprint_printersetting_item_type; }
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// Property Setting View
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_view
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_VIEW r_directprint_propertysetting_view
+ {
+ cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
+ menubar = r_directprint_propertysetting_options_menu;
+ toolbar = r_directprint_propertysetting_toolbar;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_title
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE TITLE_PANE r_directprint_propertysetting_title
+ {
+ txt = text_directprint_propertysetting_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_options_menu
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE MENU_BAR r_directprint_propertysetting_options_menu
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_directprint_propertysetting_options_menu_pane;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE MENU_PANE r_directprint_propertysetting_options_menu_pane
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPropertySettingViewChange;
+ txt = text_directprint_menu_change;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPropertySettingViewPrint;
+ txt = text_directprint_menu_print;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPropertySettingViewPreview;
+ txt = text_directprint_menu_preview;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_toolbar
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_TOOLBAR r_directprint_propertysetting_toolbar
+ {
+ flags = KAknToolbarFixed;
+ items =
+ {
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPropertySettingViewPrint;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_toolbar_print;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPropertySettingViewPreview;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_toolbar_preview;
+ }
+ };
+ };
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_navi_decorator
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE NAVI_DECORATOR r_directprint_propertysetting_navi_decorator
+ {
+ type = ENaviDecoratorControlTabGroup;
+ control = TAB_GROUP
+ {
+ tab_width = EAknTabWidthWithTwoLongTabs;
+ active = 0;
+ tabs =
+ {
+ TAB
+ {
+ id = EDirectPrintPaperSettingTab;
+ txt = text_directprint_propertysetting_tab_paper;
+ },
+ TAB
+ {
+ id = EDirectPrintPageSettingTab;
+ txt = text_directprint_propertysetting_tab_page;
+ },
+ TAB
+ {
+ id = EDirectPrintMarginSettingTab;
+ txt = text_directprint_propertysetting_tab_margin;
+ },
+ TAB
+ {
+ id = EDirectPrintHeaderSettingTab;
+ txt = text_directprint_propertysetting_tab_header;
+ },
+ TAB
+ {
+ id = EDirectPrintFooterSettingTab;
+ txt = text_directprint_propertysetting_tab_footer;
+ }
+ };
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_setting_item_list
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_ITEM_LIST r_directprint_propertysetting_setting_item_list
+ {
+ title = text_directprint_propertysetting_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_popup_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_propertysetting_popup_setting_page
+ {
+ type = EAknCtPopupSettingList;
+ editor_resource_id = r_directprint_propertysetting_popup_setting_list;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_popup_setting_list
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE POPUP_SETTING_LIST r_directprint_propertysetting_popup_setting_list
+ {
+ flags = 0;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_text_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_propertysetting_text_setting_page
+ {
+ type = EEikCtEdwin;
+ editor_resource_id = r_directprint_propertysetting_text_edwin;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_text_edwin
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE EDWIN r_directprint_propertysetting_text_edwin
+ {
+ width = 10;
+ maxlength = 50;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_integer_setting_page
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_SETTING_PAGE r_directprint_propertysetting_integer_setting_page
+ {
+ type = EAknCtIntegerEdwin;
+ editor_resource_id = r_directprint_propertysetting_integer_edwin;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_integer_edwin
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_INTEGER_EDWIN r_directprint_propertysetting_integer_edwin
+ {
+ min = 0;
+ max = 150;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_size_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_size_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_propertysetting_size_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_size_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_propertysetting_size_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = "A4";},
+ AVKON_ENUMERATED_TEXT { value=1; text = "A5";},
+ AVKON_ENUMERATED_TEXT { value=2; text = "B5";},
+ AVKON_ENUMERATED_TEXT { value=3; text = "Letter";},
+ AVKON_ENUMERATED_TEXT { value=4; text = "Regal";},
+ AVKON_ENUMERATED_TEXT { value=5; text = "Post card";},
+ AVKON_ENUMERATED_TEXT { value=6; text = "Envelope";}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_orientation_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_orientation_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_propertysetting_orientation_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_orientation_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_propertysetting_orientation_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT
+ {
+ value=0;
+ text = text_directprint_orientation_portrate;
+ },
+ AVKON_ENUMERATED_TEXT
+ {
+ value=1;
+ text = text_directprint_orientation_landscape;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_mediatype_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_mediatype_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_propertysetting_mediatype_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_orientation_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_propertysetting_mediatype_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT
+ {
+ value = 0;
+ text = "Plain";
+ },
+ AVKON_ENUMERATED_TEXT
+ {
+ value=1;
+ text = "Photo";
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_boaderless_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_boaderless_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_propertysetting_boaderless_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_orientation_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_propertysetting_boaderless_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT
+ {
+ value = 0;
+ text = "OFF";
+ },
+ AVKON_ENUMERATED_TEXT
+ {
+ value=1;
+ text = "ON";
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_page_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_range_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_propertysetting_range_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_range_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_propertysetting_range_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = text_directprint_range_all;},
+ AVKON_ENUMERATED_TEXT { value=1; text = text_directprint_range_odd;},
+ AVKON_ENUMERATED_TEXT { value=2; text = text_directprint_range_even;}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_print_popup_setting_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_POPUP_SETTING_TEXTS r_directprint_propertysetting_print_popup_setting_texts
+ {
+ setting_texts_resource = r_directprint_propertysetting_print_texts;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_propertysetting_print_texts
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE ARRAY r_directprint_propertysetting_print_texts
+ {
+ items =
+ {
+ AVKON_ENUMERATED_TEXT { value=0; text = text_directprint_no;},
+ AVKON_ENUMERATED_TEXT { value=1; text = text_directprint_yes;}
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// Resources for item title.
+//
+// ----------------------------------------------------------------------------
+//
+RESOURCE TBUF r_directprint_propertysetting_item_papersize { buf=text_directprint_propertysetting_item_papersize; }
+RESOURCE TBUF r_directprint_propertysetting_item_orientation { buf=text_directprint_propertysetting_item_orientation; }
+RESOURCE TBUF r_directprint_propertysetting_item_mediatype { buf=text_directprint_propertysetting_item_mediatype; }
+RESOURCE TBUF r_directprint_propertysetting_item_printpage { buf=text_directprint_propertysetting_item_printpage; }
+RESOURCE TBUF r_directprint_propertysetting_item_printrange { buf=text_directprint_propertysetting_item_printrange; }
+RESOURCE TBUF r_directprint_propertysetting_item_copy { buf=text_directprint_propertysetting_item_copy; }
+RESOURCE TBUF r_directprint_propertysetting_item_leftmargin { buf=text_directprint_propertysetting_item_leftmargin; }
+RESOURCE TBUF r_directprint_propertysetting_item_rightmargin { buf=text_directprint_propertysetting_item_rightmargin; }
+RESOURCE TBUF r_directprint_propertysetting_item_topmargin { buf=text_directprint_propertysetting_item_topmargin; }
+RESOURCE TBUF r_directprint_propertysetting_item_bottommargin { buf=text_directprint_propertysetting_item_bottommargin; }
+RESOURCE TBUF r_directprint_propertysetting_item_headertext { buf=text_directprint_propertysetting_item_headertext; }
+RESOURCE TBUF r_directprint_propertysetting_item_headerdistance { buf=text_directprint_propertysetting_item_headerdistance; }
+RESOURCE TBUF r_directprint_propertysetting_item_headerfirstpage { buf=text_directprint_propertysetting_item_headerfirstpage; }
+RESOURCE TBUF r_directprint_propertysetting_item_footertext { buf=text_directprint_propertysetting_item_footertext; }
+RESOURCE TBUF r_directprint_propertysetting_item_footerdistance { buf=text_directprint_propertysetting_item_footerdistance; }
+RESOURCE TBUF r_directprint_propertysetting_item_footerfirstpage { buf=text_directprint_propertysetting_item_footerfirstpage; }
+
+RESOURCE TBUF r_directprint_propertysetting_item_boaderless { buf=text_directprint_propertysetting_item_boaderless; }
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// Preview View
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+// ----------------------------------------------------------------------------
+//
+// r_directprint_preview_view
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_VIEW r_directprint_preview_view
+ {
+ cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
+ menubar = r_directprint_preview_options_menu;
+ toolbar = r_directprint_preview_toolbar;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_preview_title
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE TITLE_PANE r_directprint_preview_title
+ {
+ txt = text_directprint_previewview_title;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_preview_options_menu
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE MENU_BAR r_directprint_preview_options_menu
+ {
+ titles =
+ {
+ MENU_TITLE
+ {
+ menu_pane = r_directprint_preview_options_menu_pane;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_preview_options_menu_pane
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE MENU_PANE r_directprint_preview_options_menu_pane
+ {
+ items =
+ {
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPreviewViewPrint;
+ txt = text_directprint_menu_print;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPreviewViewExpand;
+ txt = text_directprint_previewview_expand;
+ },
+ MENU_ITEM
+ {
+ command = EDirectPrintCmdIdPreviewViewReduce;
+ txt = text_directprint_previewview_reduce;
+ }
+ };
+ }
+
+// ----------------------------------------------------------------------------
+//
+// r_directprint_preview_toolbar
+//
+// ----------------------------------------------------------------------------
+//
+//
+RESOURCE AVKON_TOOLBAR r_directprint_preview_toolbar
+ {
+ flags = KAknToolbarFixed;
+ items =
+ {
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPreviewViewPrint;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_toolbar_print;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPreviewViewExpand;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_previewview_expand;
+ }
+ };
+ };
+ },
+ TBAR_CTRL
+ {
+ type = EAknCtButton;
+ id = EDirectPrintCmdIdPreviewViewReduce;
+ control = AVKON_BUTTON
+ {
+ flags = 0;
+ states =
+ {
+ AVKON_BUTTON_STATE
+ {
+ txt = text_directprint_previewview_reduce;
+ }
+ };
+ };
+ }
+ };
+ }
+
+
+
+
+
+// ----------------------------------------------------------------------------
+//
+// For directprint engine
+//
+// ----------------------------------------------------------------------------
+//
+//
+
+// d:List box format string - do not localize this!
+#define qtn_lbox_format "\t%0U\t\t%1U"
+
+// Resource strings
+RESOURCE TBUF R_QTN_LBOX_FORMAT { buf = qtn_lbox_format; }
+RESOURCE TBUF R_EMPTY { buf = ""; }
+
+// Paper sizes
+RESOURCE TBUF R_QTN_STR_PAPER_SIZE { buf = qtn_print_settings_paper_size; }
+RESOURCE TBUF R_QTN_STR_SIZE_AUTO { buf = qtn_print_paper_size_auto; }
+RESOURCE TBUF R_QTN_STR_SIZE_LETTER { buf = qtn_print_paper_size_letter; }
+RESOURCE TBUF R_QTN_STR_SIZE_A4 { buf = qtn_print_paper_size_a4; }
+RESOURCE TBUF R_QTN_STR_SIZE_A6 { buf = qtn_print_paper_size_a6; }
+RESOURCE TBUF R_QTN_STR_SIZE_4X6 { buf = qtn_print_paper_size_4x6; }
+RESOURCE TBUF R_QTN_STR_SIZE_5X7 { buf = qtn_print_paper_size_5x7; }
+RESOURCE TBUF R_QTN_STR_SIZE_STICKER { buf = qtn_print_paper_size_sticker; }
+
+// Print quality
+RESOURCE TBUF R_QTN_STR_QUALITY { buf = qtn_print_settings_print_quality; }
+RESOURCE TBUF R_QTN_STR_QUAL_AUTO { buf = qtn_print_quality_auto; }
+RESOURCE TBUF R_QTN_STR_QUAL_NORMAL { buf = qtn_print_quality_normal; }
+RESOURCE TBUF R_QTN_STR_QUAL_DRAFT { buf = qtn_print_quality_draft; }
+RESOURCE TBUF R_QTN_STR_QUAL_FINE { buf = qtn_print_quality_fine; }
+
+// Template
+RESOURCE TBUF R_QTN_STR_TEMPLATE { buf = qtn_print_settings_template; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_BLESS { buf = qtn_print_settings_bless; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_ONE { buf = "1"; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_TWO { buf = "2"; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_FOUR { buf = "4"; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_SIX { buf = "6"; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_NINE { buf = "9"; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_TWELVE { buf = "12"; }
+RESOURCE TBUF R_QTN_STR_TEMPLATE_SIXTEEN { buf = "16"; }
+
+//
+RESOURCE TBUF r_qtn_print_no_printers { buf = qtn_print_no_printers; }
+RESOURCE TBUF r_qtn_print_settings_default_usb { buf = qtn_print_settings_default_usb; }
+RESOURCE TBUF r_qtn_print_settings_default_bt { buf = qtn_print_settings_default_bt; }
+RESOURCE TBUF r_qtn_print_settings_default_wlan { buf = qtn_print_settings_default_wlan; }
+RESOURCE TBUF r_qtn_print_settings_default_lpr { buf = qtn_print_settings_default_lpr; }
+RESOURCE TBUF r_qtn_print_memory_card { buf = qtn_print_memory_card; }
+
+// DirectPrint
+RESOURCE TBUF R_QTN_STR_ACCESS_POINT { buf = qtn_print_settings_accesspoint; }
+RESOURCE TBUF R_QTN_STR_HOST { buf = qtn_print_settings_host; }
+RESOURCE TBUF R_QTN_STR_PORT { buf = qtn_print_settings_port; }
+RESOURCE TBUF R_QTN_STR_USER { buf = qtn_print_settings_user; }
+RESOURCE TBUF R_QTN_STR_QUE { buf = qtn_print_settings_que; }
+
+// Extent
+RESOURCE TBUF R_QTN_STR_EXTENT { buf = qtn_print_settings_extent; }
+RESOURCE TBUF R_QTN_STR_EXTENT2 { buf = qtn_print_settings_extent2; }
+RESOURCE TBUF R_QTN_STR_EXTENT_SELECT1 { buf = qtn_print_settings_extent_select1; }
+RESOURCE TBUF R_QTN_STR_EXTENT_SELECT2 { buf = qtn_print_settings_extent_select2; }
+RESOURCE TBUF R_QTN_STR_EXTENT_SELECT3 { buf = qtn_print_settings_extent_select3; }
+RESOURCE TBUF R_QTN_STR_EXTENT_SELECT4 { buf = qtn_print_settings_extent_select4; }
+
+
+// End of File
--- a/DirectPrint/DirectPrintApp/data/directprintapp_reg.rss Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/data/directprintapp_reg.rss Tue May 11 14:10:02 2010 +0800
@@ -1,36 +1,36 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "DirectPrintApp.hrh"
-#include "DirectPrintApp.loc"
-#include <appinfo.rh>
-#include <DirectPrintApp.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 _UID3
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file="DirectPrintApp";
- localisable_resource_file = text_directprint_loc_resource_file;
- localisable_resource_id = R_DIRECTPRINT_LOCALISABLE_APP_INFO;
-
- hidden = KAppIsHidden;
- embeddability=KAppNotEmbeddable;
- newfile=KAppDoesNotSupportNewFile;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "DirectPrintApp.hrh"
+#include "DirectPrintApp.loc"
+#include <appinfo.rh>
+#include <DirectPrintApp.rsg>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 _UID3
+
+RESOURCE APP_REGISTRATION_INFO
+ {
+ app_file="DirectPrintApp";
+ localisable_resource_file = text_directprint_loc_resource_file;
+ localisable_resource_id = R_DIRECTPRINT_LOCALISABLE_APP_INFO;
+
+ hidden = KAppIsHidden;
+ embeddability=KAppNotEmbeddable;
+ newfile=KAppDoesNotSupportNewFile;
+ }
+
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintband.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintband.h Tue May 11 14:10:02 2010 +0800
@@ -1,91 +1,91 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* Test print band ECOM plugin
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTBAND_H
-#define DIRECTPRINTBAND_H
-
-// System includes
-#include <e32std.h>
-#include <e32base.h>
-#include <gdi.h>
-#include <ecom/ecom.h>
-
-// Forward declarations
-class CDirectPrintBand;
-class CPrintSetup;
-class RXmlEngDocument;
-class MPageRegionPrinter;
-
-// CLASS DECLARATION
-
-/**
- * CDirectPrintBand
- *
- */
-class CDirectPrintBand : public CBase
- {
-public:
- inline static CDirectPrintBand* NewL(TUid aImplementationUid);
- virtual ~CDirectPrintBand();
-
- /**
- * Initialize the print band
- *
- * @param aPrintSetup Pointer to the CPrintSetup
- * @param aParam Xml parameter object
- * @param aFileName Sets the file name if define the file name to xml,
- * Not set if not define the file name to xml
- */
- virtual void InitPrintBandL(CPrintSetup* aPrintSetup,
- RXmlEngDocument* aParam,
- const TDesC& aFileName) = 0;
-
- /**
- * Return the print band object
- *
- * @return MPageRegionPrinter* Pointer to the print band object
- */
- virtual MPageRegionPrinter* RegionPrinter() = 0;
-
- /**
- * Return the total page number
- *
- * @return TInt the total page number
- */
- virtual TInt PageNum() = 0;
-
-public:
- TUid iDtorIdKey;
- };
-
-inline CDirectPrintBand* CDirectPrintBand::NewL(TUid aImplementationUid)
- { // static
- TAny* any = REComSession::CreateImplementationL(aImplementationUid,
- _FOFF(CDirectPrintBand, iDtorIdKey));
- CDirectPrintBand* plugin = reinterpret_cast<CDirectPrintBand*>(any);
- return plugin;
- }
-
-inline CDirectPrintBand::~CDirectPrintBand()
- {
- REComSession::DestroyedImplementation(iDtorIdKey);
- }
-
-#endif // DIRECTPRINTBAND_H
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Test print band ECOM plugin
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTBAND_H
+#define DIRECTPRINTBAND_H
+
+// System includes
+#include <e32std.h>
+#include <e32base.h>
+#include <gdi.h>
+#include <ecom/ecom.h>
+
+// Forward declarations
+class CDirectPrintBand;
+class CPrintSetup;
+class RXmlEngDocument;
+class MPageRegionPrinter;
+
+// CLASS DECLARATION
+
+/**
+ * CDirectPrintBand
+ *
+ */
+class CDirectPrintBand : public CBase
+ {
+public:
+ inline static CDirectPrintBand* NewL(TUid aImplementationUid);
+ virtual ~CDirectPrintBand();
+
+ /**
+ * Initialize the print band
+ *
+ * @param aPrintSetup Pointer to the CPrintSetup
+ * @param aParam Xml parameter object
+ * @param aFileName Sets the file name if define the file name to xml,
+ * Not set if not define the file name to xml
+ */
+ virtual void InitPrintBandL(CPrintSetup* aPrintSetup,
+ RXmlEngDocument* aParam,
+ const TDesC& aFileName) = 0;
+
+ /**
+ * Return the print band object
+ *
+ * @return MPageRegionPrinter* Pointer to the print band object
+ */
+ virtual MPageRegionPrinter* RegionPrinter() = 0;
+
+ /**
+ * Return the total page number
+ *
+ * @return TInt the total page number
+ */
+ virtual TInt PageNum() = 0;
+
+public:
+ TUid iDtorIdKey;
+ };
+
+inline CDirectPrintBand* CDirectPrintBand::NewL(TUid aImplementationUid)
+ { // static
+ TAny* any = REComSession::CreateImplementationL(aImplementationUid,
+ _FOFF(CDirectPrintBand, iDtorIdKey));
+ CDirectPrintBand* plugin = reinterpret_cast<CDirectPrintBand*>(any);
+ return plugin;
+ }
+
+inline CDirectPrintBand::~CDirectPrintBand()
+ {
+ REComSession::DestroyedImplementation(iDtorIdKey);
+ }
+
+#endif // DIRECTPRINTBAND_H
+// End of file
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintbanduid.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintbanduid.h Tue May 11 14:10:02 2010 +0800
@@ -1,29 +1,29 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* Test print band ECOM plugin
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTBANDUID_H
-#define DIRECTPRINTBANDUID_H
-
-// The UIDs are defined for Direct Print band plugin
-
-// Interface Uid for print band plugin
-#define KDirectPrintBandInterfaceUid 0x2002BB30
-
-#endif // DIRECTPRINTBANDUID_H
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Test print band ECOM plugin
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTBANDUID_H
+#define DIRECTPRINTBANDUID_H
+
+// The UIDs are defined for Direct Print band plugin
+
+// Interface Uid for print band plugin
+#define KDirectPrintBandInterfaceUid 0x2002BB30
+
+#endif // DIRECTPRINTBANDUID_H
+// End of file
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintbasecapability.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintbasecapability.h Tue May 11 14:10:02 2010 +0800
@@ -1,80 +1,80 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTBASECAPABILITY_H
-#define DIRECTPRINTBASECAPABILITY_H
-
-// System includes
-#include <e32std.h>
-#include <e32base.h>
-#include <aknsettingitemlist.h>
-
-// TYPE DEFINITIONS
-typedef TBuf<64> TCapabilityTitle;
-
-/**
- *
- * Capability base class, pure virtual, needs to be derived
- *
- */
-class CDirectPrintBaseCapability : public CBase
- {
- public: // New methods
-
- virtual ~CDirectPrintBaseCapability() {};
-
- /**
- * Creates text for the setting item list box
- *
- * @return Correctly formatted list box text
- */
- virtual HBufC* ListBoxTextL() = 0;
-
- /**
- * Clones and returns copy of itself
- *
- * @return Cloned copy of the instance itself
- */
- virtual CDirectPrintBaseCapability* CloneL() = 0;
-
- /**
- * Creates CAknSettingItem for the list box
- *
- * @return CAknSettingItem object
- */
- virtual CAknSettingItem* SettingItemLC(TInt aIndex) = 0;
-
- public: // Data
-
- // The index on the list from the top (0 = topmost)
- TBool iIndexOnList;
-
- // Title of this capability
- TCapabilityTitle iTitle;
-
- // UID of the capability
- TInt iUid;
-
- // Value
- TInt iValue;
- };
-
-#endif // DIRECTPRINTBASECAPABILITY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTBASECAPABILITY_H
+#define DIRECTPRINTBASECAPABILITY_H
+
+// System includes
+#include <e32std.h>
+#include <e32base.h>
+#include <aknsettingitemlist.h>
+
+// TYPE DEFINITIONS
+typedef TBuf<64> TCapabilityTitle;
+
+/**
+ *
+ * Capability base class, pure virtual, needs to be derived
+ *
+ */
+class CDirectPrintBaseCapability : public CBase
+ {
+ public: // New methods
+
+ virtual ~CDirectPrintBaseCapability() {};
+
+ /**
+ * Creates text for the setting item list box
+ *
+ * @return Correctly formatted list box text
+ */
+ virtual HBufC* ListBoxTextL() = 0;
+
+ /**
+ * Clones and returns copy of itself
+ *
+ * @return Cloned copy of the instance itself
+ */
+ virtual CDirectPrintBaseCapability* CloneL() = 0;
+
+ /**
+ * Creates CAknSettingItem for the list box
+ *
+ * @return CAknSettingItem object
+ */
+ virtual CAknSettingItem* SettingItemLC(TInt aIndex) = 0;
+
+ public: // Data
+
+ // The index on the list from the top (0 = topmost)
+ TBool iIndexOnList;
+
+ // Title of this capability
+ TCapabilityTitle iTitle;
+
+ // UID of the capability
+ TInt iUid;
+
+ // Value
+ TInt iValue;
+ };
+
+#endif // DIRECTPRINTBASECAPABILITY_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintengine.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintengine.h Tue May 11 14:10:02 2010 +0800
@@ -1,197 +1,197 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTENGINE_H__
-#define __DIRECTPRINTENGINE_H__
-
-// INCLUDES
-#include <e32base.h>
-#include <prninf.h> // MPrintProcessObserver
-#include <prnsetup.h> // CPrintSetup
-#include <fldbltin.h> // MFieldNumPagesInfo
-#include <gdi.h> // CPrinterModelList
-#include <AknProgressDialog.h> // CAknProgressDialog
-#include <EIKPROGI.H>
-#include <xmlengdocument.h> // RXmlEngDocument
-#include "DirectPrintEngineObserver.h"
-#include "directprintband.h"
-
-// CLASS DECLARATION
-class CDirectPrintModel;
-
-class CDirectPrintEngine : public CBase,
- public MPrintProcessObserver,
- public MFieldNumPagesInfo,
- public MProgressDialogCallback
- {
-public:
- // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CDirectPrintEngine* NewL(CDirectPrintModel& aModel);
-
- /**
- * Two-phased constructor.
- */
- static CDirectPrintEngine* NewLC(CDirectPrintModel& aModel);
-
- /**
- * Destructor.
- */
- virtual ~CDirectPrintEngine();
-
- // from MPrintProcessObserver
- virtual void NotifyPrintStarted(TPrintParameters aPrintParams);
- virtual void NotifyBandPrinted(TInt aPercent, TInt aCurrentPageNum, TInt aCurrentCopyNum);
- virtual void NotifyPrintEnded(TInt aErrNum);
-
- // from MFieldNumPagesInfo
- virtual TInt UpdateFieldNumPages()const;
-
- // from MProgressDialogCallback
- /**
- * DialogDismissedL
- * Called when/if the dialog has been dismissed.
- * @param aButtonId
- */
- void DialogDismissedL( TInt aButtonId );
-
- // New functions
- void SetObserver(MDirectPrintEngineObserver* aObserver);
-
- TInt ModelCount();
- void ModelName(TInt aIndex, TDes& aDes);
- TUid ModelUid(TInt aIndex);
-
- void SetUseModel(TInt aIndex);
-
- void PrintL();
-
- void StartPrintPreviewL();
- void EndPrintPreview();
-
- inline CPrintSetup* PrintSetup();
- inline MPageRegionPrinter* PageRegionPrinter();
- inline TInt PageCounter();
- inline TInt MaxPageNum();
-
- void SetParamL(RXmlEngDocument* aParam);
-
-protected:
- /**
- * Constructor for performing 1st stage construction
- */
- CDirectPrintEngine(CDirectPrintModel& aModel);
-
- /**
- * EPOC default constructor for performing 2nd stage construction
- */
- void ConstructL();
-
-private:
- // New functions
- void DoPrintL(CPrinterPort* aPort);
-
- void StartPrintProgressNoteL();
- void EndPrintProgressNoteL();
- void UpdatePrintProgressNoteL(TInt aPage);
- void SearchPluginFromFilenameL(const TDesC& aFileName);
- void LoadPluginFromUidL(const TUid aUid);
-
- static void CleanupBand( TAny* aData );
-
-private:
- // Observer
- MDirectPrintEngineObserver* iObserver;
-
- // Model object
- CDirectPrintModel& iModel;
-
- // File server session
- RFs iFs;
- // Member Variable for CPrintSetup
- CPrintSetup* iPrintSetup;
-
- // Member Variable for print model name
- CPrinterModelList* iModelList;
-
- // Member Variable for page counter
- TInt iPageCounter;
-
- // Member Variable for total page
- TInt iMaxPageNum;
-
- // Member Variable for total page
- TInt iModelIndex;
-
- CDirectPrintBand* iPrintBand;
- //MPageRegionPrinter* iRegionPrinter;
-
- /**
- * iProgressDialog
- * Owned
- */
- CAknProgressDialog* iProgressDialog;
- /**
- * iProgressInfo
- * Not owned by CAknExNoteContainer object.
- */
- CEikProgressInfo* iProgressInfo;
-
- HBufC* iProgressMessage;
-
- //TBuf<255> iParam;
- RXmlEngDocument* iParam;
-
- // identifer returned by ECom
- TUid iDtorIdKey;
-
- // last error
- TInt iLastError;
- };
-
-inline CPrintSetup* CDirectPrintEngine::PrintSetup()
- {
- return iPrintSetup;
- }
-
-inline MPageRegionPrinter* CDirectPrintEngine::PageRegionPrinter()
- {
- if (iPrintBand)
- {
- return iPrintBand->RegionPrinter();
- }
- return NULL;
- }
-
-inline TInt CDirectPrintEngine::PageCounter()
- {
- return iPageCounter;
- }
-
-inline TInt CDirectPrintEngine::MaxPageNum()
- {
- return iMaxPageNum;
- }
-
-
-#endif // __DIRECTPRINTENGINE_H__
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTENGINE_H__
+#define __DIRECTPRINTENGINE_H__
+
+// INCLUDES
+#include <e32base.h>
+#include <prninf.h> // MPrintProcessObserver
+#include <prnsetup.h> // CPrintSetup
+#include <fldbltin.h> // MFieldNumPagesInfo
+#include <gdi.h> // CPrinterModelList
+#include <AknProgressDialog.h> // CAknProgressDialog
+#include <EIKPROGI.H>
+#include <xmlengdocument.h> // RXmlEngDocument
+#include "DirectPrintEngineObserver.h"
+#include "directprintband.h"
+
+// CLASS DECLARATION
+class CDirectPrintModel;
+
+class CDirectPrintEngine : public CBase,
+ public MPrintProcessObserver,
+ public MFieldNumPagesInfo,
+ public MProgressDialogCallback
+ {
+public:
+ // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CDirectPrintEngine* NewL(CDirectPrintModel& aModel);
+
+ /**
+ * Two-phased constructor.
+ */
+ static CDirectPrintEngine* NewLC(CDirectPrintModel& aModel);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CDirectPrintEngine();
+
+ // from MPrintProcessObserver
+ virtual void NotifyPrintStarted(TPrintParameters aPrintParams);
+ virtual void NotifyBandPrinted(TInt aPercent, TInt aCurrentPageNum, TInt aCurrentCopyNum);
+ virtual void NotifyPrintEnded(TInt aErrNum);
+
+ // from MFieldNumPagesInfo
+ virtual TInt UpdateFieldNumPages()const;
+
+ // from MProgressDialogCallback
+ /**
+ * DialogDismissedL
+ * Called when/if the dialog has been dismissed.
+ * @param aButtonId
+ */
+ void DialogDismissedL( TInt aButtonId );
+
+ // New functions
+ void SetObserver(MDirectPrintEngineObserver* aObserver);
+
+ TInt ModelCount();
+ void ModelName(TInt aIndex, TDes& aDes);
+ TUid ModelUid(TInt aIndex);
+
+ void SetUseModel(TInt aIndex);
+
+ void PrintL();
+
+ void StartPrintPreviewL();
+ void EndPrintPreview();
+
+ inline CPrintSetup* PrintSetup();
+ inline MPageRegionPrinter* PageRegionPrinter();
+ inline TInt PageCounter();
+ inline TInt MaxPageNum();
+
+ void SetParamL(RXmlEngDocument* aParam);
+
+protected:
+ /**
+ * Constructor for performing 1st stage construction
+ */
+ CDirectPrintEngine(CDirectPrintModel& aModel);
+
+ /**
+ * EPOC default constructor for performing 2nd stage construction
+ */
+ void ConstructL();
+
+private:
+ // New functions
+ void DoPrintL(CPrinterPort* aPort);
+
+ void StartPrintProgressNoteL();
+ void EndPrintProgressNoteL();
+ void UpdatePrintProgressNoteL(TInt aPage);
+ void SearchPluginFromFilenameL(const TDesC& aFileName);
+ void LoadPluginFromUidL(const TUid aUid);
+
+ static void CleanupBand( TAny* aData );
+
+private:
+ // Observer
+ MDirectPrintEngineObserver* iObserver;
+
+ // Model object
+ CDirectPrintModel& iModel;
+
+ // File server session
+ RFs iFs;
+ // Member Variable for CPrintSetup
+ CPrintSetup* iPrintSetup;
+
+ // Member Variable for print model name
+ CPrinterModelList* iModelList;
+
+ // Member Variable for page counter
+ TInt iPageCounter;
+
+ // Member Variable for total page
+ TInt iMaxPageNum;
+
+ // Member Variable for total page
+ TInt iModelIndex;
+
+ CDirectPrintBand* iPrintBand;
+ //MPageRegionPrinter* iRegionPrinter;
+
+ /**
+ * iProgressDialog
+ * Owned
+ */
+ CAknProgressDialog* iProgressDialog;
+ /**
+ * iProgressInfo
+ * Not owned by CAknExNoteContainer object.
+ */
+ CEikProgressInfo* iProgressInfo;
+
+ HBufC* iProgressMessage;
+
+ //TBuf<255> iParam;
+ RXmlEngDocument* iParam;
+
+ // identifer returned by ECom
+ TUid iDtorIdKey;
+
+ // last error
+ TInt iLastError;
+ };
+
+inline CPrintSetup* CDirectPrintEngine::PrintSetup()
+ {
+ return iPrintSetup;
+ }
+
+inline MPageRegionPrinter* CDirectPrintEngine::PageRegionPrinter()
+ {
+ if (iPrintBand)
+ {
+ return iPrintBand->RegionPrinter();
+ }
+ return NULL;
+ }
+
+inline TInt CDirectPrintEngine::PageCounter()
+ {
+ return iPageCounter;
+ }
+
+inline TInt CDirectPrintEngine::MaxPageNum()
+ {
+ return iMaxPageNum;
+ }
+
+
+#endif // __DIRECTPRINTENGINE_H__
+// End of file
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintengineobserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintengineobserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,50 +1,50 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTENGINEOBSERVER_H__
-#define __DIRECTPRINTENGINEOBSERVER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-class MDirectPrintEngineObserver
- {
-public:
- enum TDirectPrintEngineEvents
- {
- EDirectPrintEngineEventStartCreatePrintData,
- EDirectPrintEngineEventFinishCreatePrintData,
- EDirectPrintEngineEventCancelCreatePrintData,
- EDirectPrintEngineEventErrorCreatePrintData,
-
- EDirectPrintEngineEventErrorConnectBearer,
- EDirectPrintEngineEventConnectedBearer,
- // add any events, if needed
-
- // end of event
- EDirectPrintEngineEventEnd
- };
-
-public:
- virtual void HandlePrintEventL(TDirectPrintEngineEvents aEvent, TInt aError, const TDesC& aParam) = 0;
- };
-
-#endif // __DIRECTPRINTENGINEOBSERVER_H__
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTENGINEOBSERVER_H__
+#define __DIRECTPRINTENGINEOBSERVER_H__
+
+// INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+class MDirectPrintEngineObserver
+ {
+public:
+ enum TDirectPrintEngineEvents
+ {
+ EDirectPrintEngineEventStartCreatePrintData,
+ EDirectPrintEngineEventFinishCreatePrintData,
+ EDirectPrintEngineEventCancelCreatePrintData,
+ EDirectPrintEngineEventErrorCreatePrintData,
+
+ EDirectPrintEngineEventErrorConnectBearer,
+ EDirectPrintEngineEventConnectedBearer,
+ // add any events, if needed
+
+ // end of event
+ EDirectPrintEngineEventEnd
+ };
+
+public:
+ virtual void HandlePrintEventL(TDirectPrintEngineEvents aEvent, TInt aError, const TDesC& aParam) = 0;
+ };
+
+#endif // __DIRECTPRINTENGINEOBSERVER_H__
+// End of file
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintfloatcapability.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintfloatcapability.h Tue May 11 14:10:02 2010 +0800
@@ -1,82 +1,82 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTFLOATCAPABILITY_H
-#define DIRECTPRINTFLOATCAPABILITY_H
-
-// User includes
-#include "directprintbasecapability.h"
-
-/**
- *
- * Capability type for float type of settings
- *
- */
-class CDirectPrintFloatCapability : public CDirectPrintBaseCapability
- {
- public: // Constructors and destructors
-
- /**
- * Destructor
- */
- virtual ~CDirectPrintFloatCapability();
-
- public: // Methods derived from CBaseCapability
-
- virtual HBufC* ListBoxTextL();
- virtual CDirectPrintBaseCapability* CloneL();
- virtual CAknSettingItem* SettingItemLC(TInt aIndex);
-
- public: // New methods
-
- /**
- * Sets the values for denominator, numerator and
- * maximum numerator. Initializes iRealValue at the same time
- *
- * @param aDenom Denominator
- * @param aNumerator Current numerator
- * @param aMaxNumerator Maximum numerator
- * @return Error code
- */
- TInt SetValues( TInt aDenom, TInt aNumerator, TInt aMaxNumerator );
-
- /**
- * Returns numerator
- * @return numerator
- */
- TInt Numerator() const;
-
- /**
- * Returns denominator
- * @return denominator
- */
- TInt Denominator() const;
-
- private: // Data
-
- // Denominator / Numerator pair
- TInt iDenominator;
- TInt iMaxNumerator;
-
- TReal iRealValue;
- };
-
-#endif // DIRECTPRINTFLOATCAPABILITY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTFLOATCAPABILITY_H
+#define DIRECTPRINTFLOATCAPABILITY_H
+
+// User includes
+#include "directprintbasecapability.h"
+
+/**
+ *
+ * Capability type for float type of settings
+ *
+ */
+class CDirectPrintFloatCapability : public CDirectPrintBaseCapability
+ {
+ public: // Constructors and destructors
+
+ /**
+ * Destructor
+ */
+ virtual ~CDirectPrintFloatCapability();
+
+ public: // Methods derived from CBaseCapability
+
+ virtual HBufC* ListBoxTextL();
+ virtual CDirectPrintBaseCapability* CloneL();
+ virtual CAknSettingItem* SettingItemLC(TInt aIndex);
+
+ public: // New methods
+
+ /**
+ * Sets the values for denominator, numerator and
+ * maximum numerator. Initializes iRealValue at the same time
+ *
+ * @param aDenom Denominator
+ * @param aNumerator Current numerator
+ * @param aMaxNumerator Maximum numerator
+ * @return Error code
+ */
+ TInt SetValues( TInt aDenom, TInt aNumerator, TInt aMaxNumerator );
+
+ /**
+ * Returns numerator
+ * @return numerator
+ */
+ TInt Numerator() const;
+
+ /**
+ * Returns denominator
+ * @return denominator
+ */
+ TInt Denominator() const;
+
+ private: // Data
+
+ // Denominator / Numerator pair
+ TInt iDenominator;
+ TInt iMaxNumerator;
+
+ TReal iRealValue;
+ };
+
+#endif // DIRECTPRINTFLOATCAPABILITY_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintlistcapability.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintlistcapability.h Tue May 11 14:10:02 2010 +0800
@@ -1,59 +1,59 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTLISTCAPABILITY_H
-#define DIRECTPRINTLISTCAPABILITY_H
-
-// User includes
-#include "directprintbasecapability.h"
-
-/**
- *
- * Capability type for list type of settings
- *
- */
-class CDirectPrintListCapability : public CDirectPrintBaseCapability
- {
- public: // Constructors and destructors
-
- CDirectPrintListCapability ();
-
- /**
- * Destructor
- */
- virtual ~CDirectPrintListCapability();
-
- public: // Methods derived from CBaseCapability
-
- virtual HBufC* ListBoxTextL();
- virtual CDirectPrintBaseCapability* CloneL();
- virtual CAknSettingItem* SettingItemLC(TInt aIndex);
-
- public: // Data
-
- // Enumeration IDs and the texts associated to the ids
- RArray<TInt> iEnumIDs;
- RPointerArray<HBufC> iTexts;
-
- TInt iEnumIndex;
- };
-
-#endif // DIRECTPRINTLISTCAPABILITY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTLISTCAPABILITY_H
+#define DIRECTPRINTLISTCAPABILITY_H
+
+// User includes
+#include "directprintbasecapability.h"
+
+/**
+ *
+ * Capability type for list type of settings
+ *
+ */
+class CDirectPrintListCapability : public CDirectPrintBaseCapability
+ {
+ public: // Constructors and destructors
+
+ CDirectPrintListCapability ();
+
+ /**
+ * Destructor
+ */
+ virtual ~CDirectPrintListCapability();
+
+ public: // Methods derived from CBaseCapability
+
+ virtual HBufC* ListBoxTextL();
+ virtual CDirectPrintBaseCapability* CloneL();
+ virtual CAknSettingItem* SettingItemLC(TInt aIndex);
+
+ public: // Data
+
+ // Enumeration IDs and the texts associated to the ids
+ RArray<TInt> iEnumIDs;
+ RPointerArray<HBufC> iTexts;
+
+ TInt iEnumIndex;
+ };
+
+#endif // DIRECTPRINTLISTCAPABILITY_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintprintsettings.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintprintsettings.h Tue May 11 14:10:02 2010 +0800
@@ -1,61 +1,61 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTPRINTSETTINGS_H
-#define DIRECTPRINTPRINTSETTINGS_H
-
-// System includes
-#include <e32std.h>
-#include <e32base.h>
-
-// Forward declarations
-class CDirectPrintBaseCapability;
-
-/**
- *
- * Interface to use the device discovery functionality of Image Print Engine
- *
- */
-class CDirectPrintPrintSettings : public CBase
- {
- public: // Constructors and destructors
-
- /**
- * Constructor
- */
- CDirectPrintPrintSettings();
-
- /**
- * Destructor
- */
- virtual ~CDirectPrintPrintSettings();
-
- public: // New methods
-
- CDirectPrintPrintSettings* CloneL();
-
- public: // Data
-
- // Capability list
- RPointerArray<CDirectPrintBaseCapability> iCapabilities;
- };
-
-#endif // DIRECTPRINTPRINTSETTINGS_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTPRINTSETTINGS_H
+#define DIRECTPRINTPRINTSETTINGS_H
+
+// System includes
+#include <e32std.h>
+#include <e32base.h>
+
+// Forward declarations
+class CDirectPrintBaseCapability;
+
+/**
+ *
+ * Interface to use the device discovery functionality of Image Print Engine
+ *
+ */
+class CDirectPrintPrintSettings : public CBase
+ {
+ public: // Constructors and destructors
+
+ /**
+ * Constructor
+ */
+ CDirectPrintPrintSettings();
+
+ /**
+ * Destructor
+ */
+ virtual ~CDirectPrintPrintSettings();
+
+ public: // New methods
+
+ CDirectPrintPrintSettings* CloneL();
+
+ public: // Data
+
+ // Capability list
+ RPointerArray<CDirectPrintBaseCapability> iCapabilities;
+ };
+
+#endif // DIRECTPRINTPRINTSETTINGS_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintsettingsconverter.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintsettingsconverter.h Tue May 11 14:10:02 2010 +0800
@@ -1,97 +1,97 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTSETTINGSCONVERTER_H
-#define DIRECTPRINTSETTINGSCONVERTER_H
-
-#include <e32std.h>
-
-class CDirectPrintTIntCapability;
-class CDirectPrintListCapability;
-class CDirectPrintFloatCapability;
-class CDirectPrintTextCapability;
-class TDirectPrintCapability;
-
-/**
- *
- * Utility class for converting capabilities to correct format
- *
- */
-class DirectPrintSettingsConverter
- {
- public:
-
- /**
- * Converts TDirectPrintCapability to CDirectPrintTIntCapability
- *
- * @param aCapability Capability coming from the engine
- * @param aIndexOnList Capability's index on the list box
- * @param aCapabUid Capability's UID
- * @return Initialized CDirectPrintTIntCapability instance
- */
- static CDirectPrintTIntCapability* AddTIntCapabilityLC(
- TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
-
- /**
- * Converts TDirectPrintCapability to CDirectPrintListCapability
- *
- * @param aCapability Capability coming from the engine
- * @param aIndexOnList Capability's index on the list box
- * @param aCapabUid Capability's UID
- * @return Initialized CDirectPrintListCapability instance
- */
- static CDirectPrintListCapability* AddListCapabilityLC(
- TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
-
- /**
- * Converts TDirectPrintCapability to CDirectPrintFloatCapability
- *
- * @param aCapability Capability coming from the engine
- * @param aIndexOnList Capability's index on the list box
- * @param aCapabUid Capability's UID
- * @return Initialized CDirectPrintFloatCapability instance
- */
- static CDirectPrintFloatCapability* AddFloatCapabilityLC(
- TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
-
- /**
- * Converts TDirectPrintCapability to CDirectPrintTextCapability
- *
- * @param aCapability Capability coming from the engine
- * @param aIndexOnList Capability's index on the list box
- * @param aCapabUid Capability's UID
- * @return Initialized CDirectPrintTextCapability instance
- */
- static CDirectPrintTextCapability* AddTextCapabilityLC(
- TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
-
- private:
-
- /**
- * Creates text string from the enumeration ID
- *
- * @param aId Enumeration Id
- * @return buffer containing the string
- */
- static HBufC* TextStringLC( TInt aId );
- };
-
-#endif // DIRECTPRINTSETTINGSCONVERTER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTSETTINGSCONVERTER_H
+#define DIRECTPRINTSETTINGSCONVERTER_H
+
+#include <e32std.h>
+
+class CDirectPrintTIntCapability;
+class CDirectPrintListCapability;
+class CDirectPrintFloatCapability;
+class CDirectPrintTextCapability;
+class TDirectPrintCapability;
+
+/**
+ *
+ * Utility class for converting capabilities to correct format
+ *
+ */
+class DirectPrintSettingsConverter
+ {
+ public:
+
+ /**
+ * Converts TDirectPrintCapability to CDirectPrintTIntCapability
+ *
+ * @param aCapability Capability coming from the engine
+ * @param aIndexOnList Capability's index on the list box
+ * @param aCapabUid Capability's UID
+ * @return Initialized CDirectPrintTIntCapability instance
+ */
+ static CDirectPrintTIntCapability* AddTIntCapabilityLC(
+ TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
+
+ /**
+ * Converts TDirectPrintCapability to CDirectPrintListCapability
+ *
+ * @param aCapability Capability coming from the engine
+ * @param aIndexOnList Capability's index on the list box
+ * @param aCapabUid Capability's UID
+ * @return Initialized CDirectPrintListCapability instance
+ */
+ static CDirectPrintListCapability* AddListCapabilityLC(
+ TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
+
+ /**
+ * Converts TDirectPrintCapability to CDirectPrintFloatCapability
+ *
+ * @param aCapability Capability coming from the engine
+ * @param aIndexOnList Capability's index on the list box
+ * @param aCapabUid Capability's UID
+ * @return Initialized CDirectPrintFloatCapability instance
+ */
+ static CDirectPrintFloatCapability* AddFloatCapabilityLC(
+ TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
+
+ /**
+ * Converts TDirectPrintCapability to CDirectPrintTextCapability
+ *
+ * @param aCapability Capability coming from the engine
+ * @param aIndexOnList Capability's index on the list box
+ * @param aCapabUid Capability's UID
+ * @return Initialized CDirectPrintTextCapability instance
+ */
+ static CDirectPrintTextCapability* AddTextCapabilityLC(
+ TDirectPrintCapability& aCapability, TInt aIndexOnList, TInt aCapabUid );
+
+ private:
+
+ /**
+ * Creates text string from the enumeration ID
+ *
+ * @param aId Enumeration Id
+ * @return buffer containing the string
+ */
+ static HBufC* TextStringLC( TInt aId );
+ };
+
+#endif // DIRECTPRINTSETTINGSCONVERTER_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintstringids.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintstringids.h Tue May 11 14:10:02 2010 +0800
@@ -1,57 +1,57 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef DIRECTPRINTSTRINGIDS_H
-#define DIRECTPRINTSTRINGIDS_H
-
-#include <DirectPrintApp.rsg>
-
-#include "directprintcapabilitycodes.h"
-#include "printmessagecodes.h"
-#include "directprintvariant.h"
-
-const TInt KEmptyString( 0 );
-
-// This table combines the capability IDs with strings so that they
-// can be fetched from the resources
-
-const TInt KConverterTableCount( 18 );
-const TInt KConverterTableIndexCount( 2 );
-const TInt KIDConverterTable[KConverterTableCount][KConverterTableIndexCount] =
- {
- { EDirectPrintCapabLayout, R_QTN_STR_TEMPLATE } ,
- { EDirectPrintCapabQuality, R_QTN_STR_QUALITY },
- { EDirectPrintCapabQualityDefault, R_QTN_STR_QUAL_AUTO },
- { EDirectPrintCapabQualityNormal, R_QTN_STR_QUAL_NORMAL },
- { EDirectPrintCapabQualityDraft, R_QTN_STR_QUAL_DRAFT },
- { EDirectPrintCapabQualityFine, R_QTN_STR_QUAL_FINE },
- { EDirectPrintCapabAP, R_QTN_STR_ACCESS_POINT },
- { EDirectPrintCapabHost, R_QTN_STR_HOST },
- { EDirectPrintCapabPort, R_QTN_STR_PORT },
- { EDirectPrintCapabUser, R_QTN_STR_USER },
- { EDirectPrintCapabQue, R_QTN_STR_QUE },
- { EDirectPrintCapabExtent, R_QTN_STR_EXTENT },
- { EDirectPrintCapabExtent2, R_QTN_STR_EXTENT2 },
- { EDirectPrintCapabExtentSelect1, R_QTN_STR_EXTENT_SELECT1 },
- { EDirectPrintCapabExtentSelect2, R_QTN_STR_EXTENT_SELECT2 },
- { EDirectPrintCapabExtentSelect3, R_QTN_STR_EXTENT_SELECT3 },
- { EDirectPrintCapabExtentSelect4, R_QTN_STR_EXTENT_SELECT4 },
- { KEmptyString, R_EMPTY }
- };
-#endif // DIRECTPRINTSTRINGIDS_H
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef DIRECTPRINTSTRINGIDS_H
+#define DIRECTPRINTSTRINGIDS_H
+
+#include <DirectPrintApp.rsg>
+
+#include "directprintcapabilitycodes.h"
+#include "printmessagecodes.h"
+#include "directprintvariant.h"
+
+const TInt KEmptyString( 0 );
+
+// This table combines the capability IDs with strings so that they
+// can be fetched from the resources
+
+const TInt KConverterTableCount( 18 );
+const TInt KConverterTableIndexCount( 2 );
+const TInt KIDConverterTable[KConverterTableCount][KConverterTableIndexCount] =
+ {
+ { EDirectPrintCapabLayout, R_QTN_STR_TEMPLATE } ,
+ { EDirectPrintCapabQuality, R_QTN_STR_QUALITY },
+ { EDirectPrintCapabQualityDefault, R_QTN_STR_QUAL_AUTO },
+ { EDirectPrintCapabQualityNormal, R_QTN_STR_QUAL_NORMAL },
+ { EDirectPrintCapabQualityDraft, R_QTN_STR_QUAL_DRAFT },
+ { EDirectPrintCapabQualityFine, R_QTN_STR_QUAL_FINE },
+ { EDirectPrintCapabAP, R_QTN_STR_ACCESS_POINT },
+ { EDirectPrintCapabHost, R_QTN_STR_HOST },
+ { EDirectPrintCapabPort, R_QTN_STR_PORT },
+ { EDirectPrintCapabUser, R_QTN_STR_USER },
+ { EDirectPrintCapabQue, R_QTN_STR_QUE },
+ { EDirectPrintCapabExtent, R_QTN_STR_EXTENT },
+ { EDirectPrintCapabExtent2, R_QTN_STR_EXTENT2 },
+ { EDirectPrintCapabExtentSelect1, R_QTN_STR_EXTENT_SELECT1 },
+ { EDirectPrintCapabExtentSelect2, R_QTN_STR_EXTENT_SELECT2 },
+ { EDirectPrintCapabExtentSelect3, R_QTN_STR_EXTENT_SELECT3 },
+ { EDirectPrintCapabExtentSelect4, R_QTN_STR_EXTENT_SELECT4 },
+ { KEmptyString, R_EMPTY }
+ };
+#endif // DIRECTPRINTSTRINGIDS_H
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprinttextcapability.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprinttextcapability.h Tue May 11 14:10:02 2010 +0800
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTTEXTCAPABILITY_H
-#define DIRECTPRINTTEXTCAPABILITY_H
-
-// User includes
-#include "directprintbasecapability.h"
-
-/**
- *
- * Capability type for TInt type of settings
- *
- */
-class CDirectPrintTextCapability : public CDirectPrintBaseCapability
- {
-public:
- /** Destructor */
- virtual ~CDirectPrintTextCapability();
-
-public: // Methods derived from CBaseCapability
-
- virtual HBufC* ListBoxTextL();
- virtual CDirectPrintBaseCapability* CloneL();
- virtual CAknSettingItem* SettingItemLC(TInt aIndex);
-
-public: // Data
- TBuf<50> iText;
- };
-
-#endif // DIRECTPRINTTEXTCAPABILITY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTTEXTCAPABILITY_H
+#define DIRECTPRINTTEXTCAPABILITY_H
+
+// User includes
+#include "directprintbasecapability.h"
+
+/**
+ *
+ * Capability type for TInt type of settings
+ *
+ */
+class CDirectPrintTextCapability : public CDirectPrintBaseCapability
+ {
+public:
+ /** Destructor */
+ virtual ~CDirectPrintTextCapability();
+
+public: // Methods derived from CBaseCapability
+
+ virtual HBufC* ListBoxTextL();
+ virtual CDirectPrintBaseCapability* CloneL();
+ virtual CAknSettingItem* SettingItemLC(TInt aIndex);
+
+public: // Data
+ TBuf<50> iText;
+ };
+
+#endif // DIRECTPRINTTEXTCAPABILITY_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprinttintcapability.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprinttintcapability.h Tue May 11 14:10:02 2010 +0800
@@ -1,55 +1,55 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTTINTCAPABILITY_H
-#define DIRECTPRINTTINTCAPABILITY_H
-
-// User includes
-#include "directprintbasecapability.h"
-
-/**
- *
- * Capability type for TInt type of settings
- *
- */
-class CDirectPrintTIntCapability : public CDirectPrintBaseCapability
- {
- public: // Constructors and destructors
-
- /**
- * Destructor
- */
- virtual ~CDirectPrintTIntCapability();
-
- public: // Methods derived from CBaseCapability
-
- virtual HBufC* ListBoxTextL();
- virtual CDirectPrintBaseCapability* CloneL();
- virtual CAknSettingItem* SettingItemLC(TInt aIndex);
-
- public: // Data
-
- // Minimum and maximum value
- TInt iMin;
- TInt iMax;
- };
-
-#endif // DIRECTPRINTTINTCAPABILITY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTTINTCAPABILITY_H
+#define DIRECTPRINTTINTCAPABILITY_H
+
+// User includes
+#include "directprintbasecapability.h"
+
+/**
+ *
+ * Capability type for TInt type of settings
+ *
+ */
+class CDirectPrintTIntCapability : public CDirectPrintBaseCapability
+ {
+ public: // Constructors and destructors
+
+ /**
+ * Destructor
+ */
+ virtual ~CDirectPrintTIntCapability();
+
+ public: // Methods derived from CBaseCapability
+
+ virtual HBufC* ListBoxTextL();
+ virtual CDirectPrintBaseCapability* CloneL();
+ virtual CAknSettingItem* SettingItemLC(TInt aIndex);
+
+ public: // Data
+
+ // Minimum and maximum value
+ TInt iMin;
+ TInt iMax;
+ };
+
+#endif // DIRECTPRINTTINTCAPABILITY_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/inc/directprintvariant.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/inc/directprintvariant.h Tue May 11 14:10:02 2010 +0800
@@ -1,27 +1,27 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTVARIANT_H
-#define DIRECTPRINTVARIANT_H
-
-// Defines dynamic settings to be in use
-#define DIRECT_PRINT_DYNAMIC_PRINT_SETTINGS
-
-#endif // DIRECTPRINTVARIANT_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTVARIANT_H
+#define DIRECTPRINTVARIANT_H
+
+// Defines dynamic settings to be in use
+#define DIRECT_PRINT_DYNAMIC_PRINT_SETTINGS
+
+#endif // DIRECTPRINTVARIANT_H
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/src/directprintengine.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprintengine.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,649 +1,649 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-#include <pdrport.h> // CFilePrinterPort
-#include <TXTETEXT.H> // CEditableText
-#include <TXTRICH.H> // CRichText
-#include <FLDBLTIN.H> // CPageNumField
-#include <flddef.h> // KPageNumberFieldUid, KNumPagesFieldUid
-#include <stringloader.h> // StringLoader
-#include <xmlengdocument.h> // RXmlEngDocument
-#include <xmlengelement.h> // TXmlEngElement
-#include <xmlengattr.h> // TXmlEngAttr
-#include <xmlengnodelist.h> // RXmlEngNodeList
-#include <bautils.h> // BaflUtils
-#include <eikenv.h> // CEikonEnv
-
-#include "clog.h"
-#include <directprintapp.rsg>
-#include "directprintengine.h"
-#include "directprintband.h"
-#include "directprintengineobserver.h"
-#include "directprintmodel.h"
-#include "directprintbanduid.h"
-
-//! Default Page spec in Twips
-#define KDefaultPageSpecInTwips TPageSpec(TPageSpec::EPortrait,TSize(11906,16838))
-
-CDirectPrintEngine::CDirectPrintEngine(CDirectPrintModel& aModel)
- : iModel(aModel)
- {
- }
-
-CDirectPrintEngine::~CDirectPrintEngine()
- {
- if (iProgressDialog)
- {
- TRAP_IGNORE(iProgressDialog->ProcessFinishedL());
- delete iProgressDialog;
- iProgressDialog = NULL;
- }
-
- if (iPrintBand)
- {
- delete iPrintBand;
- iPrintBand = NULL;
- }
-
- iPrintSetup->FreeModelList();
- delete iPrintSetup;
- delete iProgressMessage;
- iFs.Close();
- }
-
-CDirectPrintEngine* CDirectPrintEngine::NewL(CDirectPrintModel& aModel)
- {
- CDirectPrintEngine* self = CDirectPrintEngine::NewLC(aModel);
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintEngine* CDirectPrintEngine::NewLC(CDirectPrintModel& aModel)
- {
- CDirectPrintEngine* self = new(ELeave) CDirectPrintEngine(aModel);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintEngine::ConstructL()
- {
- LOG("CDirectPrintEngine::ConstructL BEGIN");
- iFs.Connect();
-
- iPrintSetup = CPrintSetup::NewL();
- iPrintSetup->AddPrinterDriverDirL(KDefaultPrinterDriverPath);
- iModelList = iPrintSetup->ModelNameListL(iFs);
-
-#ifdef _DEBUG
- LOG1("ModelCount=[%d]", ModelCount());
- for (TInt i=0; i < ModelCount(); i++)
- {
- TPrinterModelEntry entry = (*iModelList)[i];
- RDebug::Print(_L("[%d][%S][%d] "), i, &(entry.iModelName), entry.iRequiresPrinterPort);
- LOG1("ModelName=[%S]", &(entry.iModelName));
- }
-#endif
- // read progress message
- iProgressMessage = StringLoader::LoadL( R_DIRECTPRINT_MSG_PRINTING_PROGRESS );
-
- LOG("CDirectPrintEngine::ConstructL END");
- }
-
-void CDirectPrintEngine::SetObserver(MDirectPrintEngineObserver* aObserver)
- {
- iObserver = aObserver;
- }
-
-/**
- Override of base class virtual.
- Notifies that a print or print preview operation is about to begin.
- */
-void CDirectPrintEngine::NotifyPrintStarted(TPrintParameters /*aPrintParams*/)
- {
- iPageCounter = 0;
- TRAPD(err, StartPrintProgressNoteL());
- iLastError = err;
- }
-
-/**
- Override of base class virtual.\n
- Notifies that a band is about to be printed used to display print progress information,
- including the current page number.\n
- It is called immediately before each band is printed.\n
- */
-void CDirectPrintEngine::NotifyBandPrinted(TInt /*aPercent*/, TInt aCurrentPageNum, TInt /*aCurrentCopyNum*/)
- {
- if (iPageCounter==0)
- {
- // start print
- }
- if (iPageCounter<aCurrentPageNum)
- {
- // next page
- iPageCounter = aCurrentPageNum;
- TRAPD(err, UpdatePrintProgressNoteL(iPageCounter));
- iLastError = err;
- }
- }
-
-/**
- Override of base class virtual.\n
- Notifies that the print or print preview operation has completed.\n
- used to display information about how the operation completed,
- for example any errors that occurred.\n
- */
-void CDirectPrintEngine::NotifyPrintEnded(TInt aErr)
- {
- CActiveScheduler::Stop();
- TInt err = KErrNone;
-
- if (aErr == KErrNone)
- {
- if (iObserver)
- {
- TRAP(err, iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventFinishCreatePrintData, 0, KNullDesC));
- }
- }
- else
- {
- switch (aErr)
- {
- case KErrCancel:
- if (iObserver)
- {
- TRAP(err, iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventCancelCreatePrintData, aErr, KNullDesC));
- }
- break;
- default:
- if (iObserver)
- {
- TRAP(err, iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventErrorCreatePrintData, aErr, KNullDesC));
- }
- break;
- }
- }
-
- TRAP(err, EndPrintProgressNoteL());
- }
-
-/**
- Override of base class virtual.\n
- Returns the number of pages in the current document.\n
- @return - TInt (Number of pages).\n
- */
-TInt CDirectPrintEngine::UpdateFieldNumPages()const
- {
- return iMaxPageNum;
- }
-
-
-void CDirectPrintEngine::PrintL()
- {
-
- // set the total page
- iMaxPageNum = 1;
- iPrintSetup->Header()->SetNumPagesInfo(*this);
-
- TInt modelNum = iModelList->UidToNum(ModelUid(iModelIndex));
- iPrintSetup->CreatePrinterDeviceL(modelNum);
-
- // create a port if necessary
- CPrinterPort* port=NULL;
- if ((*iModelList)[modelNum].iRequiresPrinterPort)
- {
-#ifdef __WINSCW__
- port = CFilePrinterPort::NewL(_L("c:\\fpr.pcl"));
-#else
-// port = CFilePrinterPort::NewL(_L("e:\\fpr.pcl"));
- port = CFilePrinterPort::NewL(_L("c:\\fpr.pcl"));
-#endif
- }
-
- iPrintSetup->PrinterDevice()->SelectPageSpecInTwips(KDefaultPageSpecInTwips);
- iPrintSetup->iPageMarginsInTwips.iHeaderOffset = 720;
- iPrintSetup->iPageMarginsInTwips.iFooterOffset = 0;
- iPrintSetup->iPageMarginsInTwips.iMargins.iLeft = 1440; // 1 inch
- iPrintSetup->iPageMarginsInTwips.iMargins.iRight = 1440;
- iPrintSetup->iPageMarginsInTwips.iMargins.iTop = 1440;
- iPrintSetup->iPageMarginsInTwips.iMargins.iBottom = 1440;
-
- if (iObserver)
- {
- iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventStartCreatePrintData, 0, KNullDesC);
- }
-
-
- TRAPD(err, DoPrintL(port));
- if (err == KErrNone)
- {
- CActiveScheduler::Start(); // stopped by killing it - subtle...
- }
- else
- {
- if (iObserver)
- {
- iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventErrorCreatePrintData, err, KNullDesC);
- }
- }
-
-// if (iPrintBand)
-// {
-// delete iPrintBand;
-// iPrintBand = NULL;
-// }
- }
-
-void CDirectPrintEngine::DoPrintL(CPrinterPort* aPort)
- {
- // create a header
- iPrintSetup->Header()->CreateTextL();
- TBuf<40> buf(_L("This is the header on page out of "));
- buf.Append(CEditableText::EParagraphDelimiter);
- iPrintSetup->Header()->Text()->InsertL(0,buf);
- CTextField* pNumberfield=iPrintSetup->Header()->Text()->NewTextFieldL(KPageNumberFieldUid);
- iPrintSetup->Header()->Text()->InsertFieldL(27,pNumberfield,KPageNumberFieldUid);
- CNumPagesField* numPagesField=(CNumPagesField*)iPrintSetup->Header()->Text()->NewTextFieldL(KNumPagesFieldUid);
- iPrintSetup->Header()->Text()->InsertFieldL(35,numPagesField,KNumPagesFieldUid);
- iPrintSetup->Header()->Text()->UpdateFieldL(27);
- iPrintSetup->Header()->Text()->UpdateFieldL(35);
- iPrintSetup->Header()->SetFirstPageToPrintTo(1); // no header on first 3 pages
-
- iPrintSetup->Footer()->CreateTextL();
- TBuf<40> buf2(_L("This is the footer on page "));
- buf2.Append(CEditableText::EParagraphDelimiter);
- iPrintSetup->Footer()->Text()->InsertL(0,buf2);
- CTextField* pNumberfield2=iPrintSetup->Footer()->Text()->NewTextFieldL(KPageNumberFieldUid);
- iPrintSetup->Footer()->Text()->InsertFieldL(27,pNumberfield2,KPageNumberFieldUid);
- iPrintSetup->Footer()->Text()->UpdateFieldL(27);
-
- // start print to file
- iPrintSetup->iNumOfFirstPage = 1;
- TPrintParameters params;
- params.iFirstPage = 1; // don't print the first page at all, ie print page no's 3-6
- params.iLastPage = 1;
- params.iNumCopies = 1;
- TPageSpec spec;
- spec.iPortraitPageSize = KA4PaperSizeInTwips;
- spec.iOrientation = TPageSpec::EPortrait;
- iPrintSetup->PrinterDevice()->SelectPageSpecInTwips(spec);
-
- //===========================
- // start printing
- //===========================
- iPrintSetup->StartPrintL(params, *(PageRegionPrinter()), aPort, this);
-
- }
-
-
-TInt CDirectPrintEngine::ModelCount()
- {
- return iModelList->ModelCount();
- }
-
-void CDirectPrintEngine::ModelName(TInt aIndex, TDes& aDes)
- {
- TPtrC name((*iModelList)[aIndex].iModelName);
- if (name.Length() <= aDes.MaxLength())
- {
- aDes.Copy(name);
- }
- }
-
-TUid CDirectPrintEngine::ModelUid(TInt aIndex)
- {
- return (*iModelList)[aIndex].iUid;
- }
-
-void CDirectPrintEngine::SetUseModel(TInt aIndex)
- {
- iModelIndex = aIndex;
- }
-
-void CDirectPrintEngine::StartPrintProgressNoteL()
- {
- // Delete possible previous CAknProgressDialog.
- delete iProgressDialog;
- iProgressDialog = NULL;
-
- // Create new CAknProgressDialog.
- iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast
- <CEikDialog**>
- ( &iProgressDialog ) );
-
- iProgressDialog->SetCallback( this );
- iProgressDialog->PrepareLC( R_DIRECTPRINT_PRINT_PROGRESS_NOTE );
- iProgressInfo = iProgressDialog->GetProgressInfoL();
- iProgressInfo->SetFinalValue( iMaxPageNum );
-
- TBuf<32> msg;
- msg.AppendFormat(*iProgressMessage, iPageCounter, iMaxPageNum);
- iProgressDialog->SetTextL(msg);
- iProgressDialog->RunLD();
- }
-
-void CDirectPrintEngine::EndPrintProgressNoteL()
- {
- if (iProgressDialog)
- {
- iProgressDialog->ProcessFinishedL();
- delete iProgressDialog;
- iProgressDialog = NULL;
- }
- }
-
-void CDirectPrintEngine::UpdatePrintProgressNoteL(TInt aPage)
- {
- if (iProgressInfo)
- {
- TBuf<32> msg;
- msg.AppendFormat(*iProgressMessage, aPage, iMaxPageNum);
- iProgressDialog->SetTextL(msg);
- iProgressInfo->SetAndDraw(aPage);
- }
- }
-
-void CDirectPrintEngine::DialogDismissedL( TInt /*aButtonId*/ )
- {
- if (iPrintSetup)
- {
- iPrintSetup->EndPrint();
- }
- }
-
-void CDirectPrintEngine::StartPrintPreviewL()
- {
- // Clear previous object
- EndPrintPreview();
-
- // set the total page
- iMaxPageNum = 1;
- iPrintSetup->Header()->SetNumPagesInfo(*this);
-
- TInt modelNum = iModelList->UidToNum(ModelUid(iModelIndex));
- iPrintSetup->CreatePrinterDeviceL(modelNum);
-
- // create a port if necessary
- //CPrinterPort* port=NULL;
- //if ((*iModelList)[modelNum].iRequiresPrinterPort)
- // {
- // port = CFilePrinterPort::NewL(_L("e:\\fpr.pcl"));
- // }
-
- iPrintSetup->PrinterDevice()->SelectPageSpecInTwips(KDefaultPageSpecInTwips);
- iPrintSetup->iPageMarginsInTwips.iHeaderOffset = 720;
- iPrintSetup->iPageMarginsInTwips.iFooterOffset = 0;
- iPrintSetup->iPageMarginsInTwips.iMargins.iLeft = 1440; // 1 inch
- iPrintSetup->iPageMarginsInTwips.iMargins.iRight = 1440;
- iPrintSetup->iPageMarginsInTwips.iMargins.iTop = 1440;
- iPrintSetup->iPageMarginsInTwips.iMargins.iBottom = 1440;
- }
-
-void CDirectPrintEngine::EndPrintPreview()
- {
- }
-
-void CDirectPrintEngine::SetParamL(RXmlEngDocument* aParam)
- {
- LOG("CDirectPrintEngine::SetParamL BEGIN");
-
- iParam = aParam;
- if ( iPrintBand )
- {
- delete iPrintBand;
- iPrintBand = NULL;
- }
-
- _LIT8(KElementRecogMode, "RecognizeMode");
- _LIT8(KElementRecogModeAttr, "mode");
- _LIT8(KElementRecogModeValueFile, "PrintRecognizeModeFile");
- _LIT8(KElementRecogModeValuePlugin, "PrintRecognizeModePlugin");
- _LIT8(KElementFile, "PrintFile");
- _LIT8(KElementFileAttr, "file");
- _LIT8(KElementPluginUid, "PluginUid");
- _LIT8(KElementPluginUidAttr, "uid");
-
- TXmlEngElement element = iParam->DocumentElement().FirstChild().AsElement();
- HBufC* filename = NULL;
- TUint uidValue = 0;
-
- enum {
- EParamModeFile = 0x0001,
- EParamModePlugin = 0x0002,
- EParamFileExist = 0x0008,
- EParamPluginExist = 0x0010
- };
- TUint paramFlag = 0;
-
- while (element.NotNull())
- {
- if (element.Name().CompareF(KElementRecogMode()) == 0)
- {
- TXmlEngAttr attr = element.AttributeNodeL(KElementRecogModeAttr,KNullDesC8);
- if(attr.Value().CompareF(KElementRecogModeValueFile) == 0)
- {
- paramFlag |= EParamModeFile;
- LOG("Param:Mode=File");
- }
- else if(attr.Value().CompareF(KElementRecogModeValuePlugin) == 0)
- {
- paramFlag |= EParamModePlugin;
- LOG("Param:Mode=Plugin");
- }
- else
- {
- LOG("[Error] Param:Mode=Not set");
- break;
- }
- }
- else if (element.Name().CompareF(KElementFile()) == 0)
- {
- TXmlEngAttr attr = element.AttributeNodeL(KElementFileAttr,KNullDesC8);
- filename = HBufC::NewLC(attr.Value().Length());
- TPtr ptr(filename->Des());
- ptr.Copy(attr.Value());
- if (ptr.Length() > 0)
- {
- LOG1("Param:FileName UID=[%S]", &ptr);
- if (BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), ptr))
- {
- paramFlag |= EParamFileExist;
- }
- }
- if (!(paramFlag & EParamFileExist))
- {
- LOG("[Error] File not exist");
- }
- }
- else if (element.Name().CompareF(KElementPluginUid()) == 0)
- {
- TXmlEngAttr attr = element.AttributeNodeL(KElementPluginUidAttr,KNullDesC8);
- //HBufC8* bufUid = HBufC8::NewLC(attr.Value().Length());
- //TPtr8 ptr(bufUid->Des());
- HBufC* bufUid = HBufC::NewLC(attr.Value().Length());
- TPtr ptr(bufUid->Des());
- ptr.Copy(attr.Value());
- //_LIT8(KHeadOfHexString, "0x");
- _LIT(KHeadOfHexString, "0x");
- const TInt KUidStingLength = 8;
- if (ptr.Left(KHeadOfHexString().Length()).CompareF(KHeadOfHexString()) == 0)
- {
- ptr.Delete(0, KHeadOfHexString().Length());
- }
- if (ptr.Length() == KUidStingLength)
- {
- //TBuf<8> bufUid;
- //bufUid.Copy(ptr);
- //TLex lex(bufUid);
- TLex lex(ptr);
- if (lex.Val(uidValue,EHex) == KErrNone)
- {
- LOG1("Param:Plugin UID=[0x%X]", uidValue);
- paramFlag |= EParamPluginExist;
- }
- else
- {
- LOG("[Error] Convert from HEX string to int");
- }
- }
- if (!(paramFlag & EParamPluginExist))
- {
- LOG("[Error] File not exist");
- }
- CleanupStack::PopAndDestroy(bufUid); //bufUid
- }
-
- if (paramFlag == (EParamFileExist|EParamModeFile)
- || paramFlag == (EParamPluginExist|EParamModePlugin))
- {
- break;
- }
- element = element.NextSibling().AsElement();
- }
-
- if (paramFlag == (EParamFileExist|EParamModeFile)
- && filename)
- {
- TPtrC ptr(filename->Des());
- SearchPluginFromFilenameL(ptr);
- }
- if (paramFlag == (EParamPluginExist|EParamModePlugin)
- && uidValue)
- {
- TUid uid = TUid::Uid(uidValue);
- LoadPluginFromUidL(uid);
- }
-
- if (filename)
- {
- CleanupStack::PopAndDestroy(filename); //filename
- }
-
- if ( !iPrintBand )
- {
- // error xml parameter
- User::Leave(KErrArgument);
- }
-
- LOG("CDirectPrintEngine::SetParamL END");
- }
-
-void CDirectPrintEngine::SearchPluginFromFilenameL(const TDesC& aFileName)
- {
- LOG("CDirectPrintEngine::SearchPluginFromFilenameL START");
- RImplInfoPtrArray infoArray;
- TUid interface = TUid::Uid(KDirectPrintBandInterfaceUid);
- REComSession::ListImplementationsL( interface, infoArray );
- CleanupClosePushL( infoArray );
- LOG1("CDirectPrintEngine::SearchPluginFromFilenameL infoArray.Count(): %d", infoArray.Count());
-
- TParsePtrC parse(aFileName);
-
- TPtrC8 dataType;
- TPtrC16 dispName;
- TPtrC8 opaqueData;
- HBufC* dataTypeBuf = NULL;
- TBool bFound = EFalse;
- TInt findLen;
- const TChar KDataTypeSeparator = '|';
-
- for( TInt i = 0; i < infoArray.Count(); i++ )
- {
- LOG1("[InfoArray] i=%d", i);
- CImplementationInformation* info = infoArray[i];
- dataType.Set( info->DataType() );
- dispName.Set( info->DisplayName() );
- opaqueData.Set( info->OpaqueData() );
-
- dataTypeBuf = HBufC::NewLC( dataType.Length() );
- TPtr dataTypePtr(dataTypeBuf->Des());
- dataTypePtr.Copy( dataType );
-
- LOG1("[DataType]=[%S]", &dataTypePtr);
- FOREVER
- {
- findLen = dataTypePtr.Locate( KDataTypeSeparator );
- if (findLen < 0)
- {
- // the separator is not found
- if (dataTypePtr.Length() > 0)
- {
- findLen = dataTypePtr.Length();
- }
- else
- {
- break;
- }
- }
-// LOG1("[Compare]=[%S]", &(dataTypePtr.Left( findLen )));
-// LOG1("[Ext]=[%S]", &(parse.Ext()));
-// LOG1("[Comp]=[%S]", &(dataTypePtr.Left( findLen )));
- if ( parse.Ext().CompareF( dataTypePtr.Left( findLen ) ) == 0 )
- {
- bFound = ETrue;
- break;
- }
- dataTypePtr.Delete( 0, findLen+1 );
- }
-
- CleanupStack::PopAndDestroy(dataTypeBuf); // dataTypeBuf
-
- if ( bFound )
- {
- LOG("Match!!!");
- LoadPluginFromUidL(info->ImplementationUid());
- break;
- }
- }
-
- infoArray.ResetAndDestroy();
- CleanupStack::PopAndDestroy(&infoArray); // infoArray
-
- LOG("CDirectPrintEngine::SearchPluginFromFilenameL End");
- }
-
-void CDirectPrintEngine::LoadPluginFromUidL(const TUid aUid)
- {
- LOG1("CDirectPrintEngine::LoadPluginFromUidL(0x%X) Start", aUid.iUid);
-
- CDirectPrintBand* band = NULL;
- band = CDirectPrintBand::NewL(aUid);
- TCleanupItem clItem( CleanupBand, band );
- CleanupStack::PushL( clItem );
- band->InitPrintBandL( iPrintSetup,
- iParam,
- KNullDesC );
- CleanupStack::Pop(); // band
- iPrintBand = band;
-
- LOG("CDirectPrintEngine::LoadPluginFromUidL End");
- }
-
-void CDirectPrintEngine::CleanupBand( TAny* aData )
- {
- LOG("[CDirectPrintEngine::CleanupBand]\t Begin");
-
- CDirectPrintBand* band = (CDirectPrintBand*)aData;
- delete band;
-
- LOG("[CDirectPrintEngine::CleanupBand]\t End");
- }
-
-
-
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+#include <pdrport.h> // CFilePrinterPort
+#include <TXTETEXT.H> // CEditableText
+#include <TXTRICH.H> // CRichText
+#include <FLDBLTIN.H> // CPageNumField
+#include <flddef.h> // KPageNumberFieldUid, KNumPagesFieldUid
+#include <stringloader.h> // StringLoader
+#include <xmlengdocument.h> // RXmlEngDocument
+#include <xmlengelement.h> // TXmlEngElement
+#include <xmlengattr.h> // TXmlEngAttr
+#include <xmlengnodelist.h> // RXmlEngNodeList
+#include <bautils.h> // BaflUtils
+#include <eikenv.h> // CEikonEnv
+
+#include "clog.h"
+#include <directprintapp.rsg>
+#include "directprintengine.h"
+#include "directprintband.h"
+#include "directprintengineobserver.h"
+#include "directprintmodel.h"
+#include "directprintbanduid.h"
+
+//! Default Page spec in Twips
+#define KDefaultPageSpecInTwips TPageSpec(TPageSpec::EPortrait,TSize(11906,16838))
+
+CDirectPrintEngine::CDirectPrintEngine(CDirectPrintModel& aModel)
+ : iModel(aModel)
+ {
+ }
+
+CDirectPrintEngine::~CDirectPrintEngine()
+ {
+ if (iProgressDialog)
+ {
+ TRAP_IGNORE(iProgressDialog->ProcessFinishedL());
+ delete iProgressDialog;
+ iProgressDialog = NULL;
+ }
+
+ if (iPrintBand)
+ {
+ delete iPrintBand;
+ iPrintBand = NULL;
+ }
+
+ iPrintSetup->FreeModelList();
+ delete iPrintSetup;
+ delete iProgressMessage;
+ iFs.Close();
+ }
+
+CDirectPrintEngine* CDirectPrintEngine::NewL(CDirectPrintModel& aModel)
+ {
+ CDirectPrintEngine* self = CDirectPrintEngine::NewLC(aModel);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintEngine* CDirectPrintEngine::NewLC(CDirectPrintModel& aModel)
+ {
+ CDirectPrintEngine* self = new(ELeave) CDirectPrintEngine(aModel);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintEngine::ConstructL()
+ {
+ LOG("CDirectPrintEngine::ConstructL BEGIN");
+ iFs.Connect();
+
+ iPrintSetup = CPrintSetup::NewL();
+ iPrintSetup->AddPrinterDriverDirL(KDefaultPrinterDriverPath);
+ iModelList = iPrintSetup->ModelNameListL(iFs);
+
+#ifdef _DEBUG
+ LOG1("ModelCount=[%d]", ModelCount());
+ for (TInt i=0; i < ModelCount(); i++)
+ {
+ TPrinterModelEntry entry = (*iModelList)[i];
+ RDebug::Print(_L("[%d][%S][%d] "), i, &(entry.iModelName), entry.iRequiresPrinterPort);
+ LOG1("ModelName=[%S]", &(entry.iModelName));
+ }
+#endif
+ // read progress message
+ iProgressMessage = StringLoader::LoadL( R_DIRECTPRINT_MSG_PRINTING_PROGRESS );
+
+ LOG("CDirectPrintEngine::ConstructL END");
+ }
+
+void CDirectPrintEngine::SetObserver(MDirectPrintEngineObserver* aObserver)
+ {
+ iObserver = aObserver;
+ }
+
+/**
+ Override of base class virtual.
+ Notifies that a print or print preview operation is about to begin.
+ */
+void CDirectPrintEngine::NotifyPrintStarted(TPrintParameters /*aPrintParams*/)
+ {
+ iPageCounter = 0;
+ TRAPD(err, StartPrintProgressNoteL());
+ iLastError = err;
+ }
+
+/**
+ Override of base class virtual.\n
+ Notifies that a band is about to be printed used to display print progress information,
+ including the current page number.\n
+ It is called immediately before each band is printed.\n
+ */
+void CDirectPrintEngine::NotifyBandPrinted(TInt /*aPercent*/, TInt aCurrentPageNum, TInt /*aCurrentCopyNum*/)
+ {
+ if (iPageCounter==0)
+ {
+ // start print
+ }
+ if (iPageCounter<aCurrentPageNum)
+ {
+ // next page
+ iPageCounter = aCurrentPageNum;
+ TRAPD(err, UpdatePrintProgressNoteL(iPageCounter));
+ iLastError = err;
+ }
+ }
+
+/**
+ Override of base class virtual.\n
+ Notifies that the print or print preview operation has completed.\n
+ used to display information about how the operation completed,
+ for example any errors that occurred.\n
+ */
+void CDirectPrintEngine::NotifyPrintEnded(TInt aErr)
+ {
+ CActiveScheduler::Stop();
+ TInt err = KErrNone;
+
+ if (aErr == KErrNone)
+ {
+ if (iObserver)
+ {
+ TRAP(err, iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventFinishCreatePrintData, 0, KNullDesC));
+ }
+ }
+ else
+ {
+ switch (aErr)
+ {
+ case KErrCancel:
+ if (iObserver)
+ {
+ TRAP(err, iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventCancelCreatePrintData, aErr, KNullDesC));
+ }
+ break;
+ default:
+ if (iObserver)
+ {
+ TRAP(err, iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventErrorCreatePrintData, aErr, KNullDesC));
+ }
+ break;
+ }
+ }
+
+ TRAP(err, EndPrintProgressNoteL());
+ }
+
+/**
+ Override of base class virtual.\n
+ Returns the number of pages in the current document.\n
+ @return - TInt (Number of pages).\n
+ */
+TInt CDirectPrintEngine::UpdateFieldNumPages()const
+ {
+ return iMaxPageNum;
+ }
+
+
+void CDirectPrintEngine::PrintL()
+ {
+
+ // set the total page
+ iMaxPageNum = 1;
+ iPrintSetup->Header()->SetNumPagesInfo(*this);
+
+ TInt modelNum = iModelList->UidToNum(ModelUid(iModelIndex));
+ iPrintSetup->CreatePrinterDeviceL(modelNum);
+
+ // create a port if necessary
+ CPrinterPort* port=NULL;
+ if ((*iModelList)[modelNum].iRequiresPrinterPort)
+ {
+#ifdef __WINSCW__
+ port = CFilePrinterPort::NewL(_L("c:\\fpr.pcl"));
+#else
+// port = CFilePrinterPort::NewL(_L("e:\\fpr.pcl"));
+ port = CFilePrinterPort::NewL(_L("c:\\fpr.pcl"));
+#endif
+ }
+
+ iPrintSetup->PrinterDevice()->SelectPageSpecInTwips(KDefaultPageSpecInTwips);
+ iPrintSetup->iPageMarginsInTwips.iHeaderOffset = 720;
+ iPrintSetup->iPageMarginsInTwips.iFooterOffset = 0;
+ iPrintSetup->iPageMarginsInTwips.iMargins.iLeft = 1440; // 1 inch
+ iPrintSetup->iPageMarginsInTwips.iMargins.iRight = 1440;
+ iPrintSetup->iPageMarginsInTwips.iMargins.iTop = 1440;
+ iPrintSetup->iPageMarginsInTwips.iMargins.iBottom = 1440;
+
+ if (iObserver)
+ {
+ iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventStartCreatePrintData, 0, KNullDesC);
+ }
+
+
+ TRAPD(err, DoPrintL(port));
+ if (err == KErrNone)
+ {
+ CActiveScheduler::Start(); // stopped by killing it - subtle...
+ }
+ else
+ {
+ if (iObserver)
+ {
+ iObserver->HandlePrintEventL(MDirectPrintEngineObserver::EDirectPrintEngineEventErrorCreatePrintData, err, KNullDesC);
+ }
+ }
+
+// if (iPrintBand)
+// {
+// delete iPrintBand;
+// iPrintBand = NULL;
+// }
+ }
+
+void CDirectPrintEngine::DoPrintL(CPrinterPort* aPort)
+ {
+ // create a header
+ iPrintSetup->Header()->CreateTextL();
+ TBuf<40> buf(_L("This is the header on page out of "));
+ buf.Append(CEditableText::EParagraphDelimiter);
+ iPrintSetup->Header()->Text()->InsertL(0,buf);
+ CTextField* pNumberfield=iPrintSetup->Header()->Text()->NewTextFieldL(KPageNumberFieldUid);
+ iPrintSetup->Header()->Text()->InsertFieldL(27,pNumberfield,KPageNumberFieldUid);
+ CNumPagesField* numPagesField=(CNumPagesField*)iPrintSetup->Header()->Text()->NewTextFieldL(KNumPagesFieldUid);
+ iPrintSetup->Header()->Text()->InsertFieldL(35,numPagesField,KNumPagesFieldUid);
+ iPrintSetup->Header()->Text()->UpdateFieldL(27);
+ iPrintSetup->Header()->Text()->UpdateFieldL(35);
+ iPrintSetup->Header()->SetFirstPageToPrintTo(1); // no header on first 3 pages
+
+ iPrintSetup->Footer()->CreateTextL();
+ TBuf<40> buf2(_L("This is the footer on page "));
+ buf2.Append(CEditableText::EParagraphDelimiter);
+ iPrintSetup->Footer()->Text()->InsertL(0,buf2);
+ CTextField* pNumberfield2=iPrintSetup->Footer()->Text()->NewTextFieldL(KPageNumberFieldUid);
+ iPrintSetup->Footer()->Text()->InsertFieldL(27,pNumberfield2,KPageNumberFieldUid);
+ iPrintSetup->Footer()->Text()->UpdateFieldL(27);
+
+ // start print to file
+ iPrintSetup->iNumOfFirstPage = 1;
+ TPrintParameters params;
+ params.iFirstPage = 1; // don't print the first page at all, ie print page no's 3-6
+ params.iLastPage = 1;
+ params.iNumCopies = 1;
+ TPageSpec spec;
+ spec.iPortraitPageSize = KA4PaperSizeInTwips;
+ spec.iOrientation = TPageSpec::EPortrait;
+ iPrintSetup->PrinterDevice()->SelectPageSpecInTwips(spec);
+
+ //===========================
+ // start printing
+ //===========================
+ iPrintSetup->StartPrintL(params, *(PageRegionPrinter()), aPort, this);
+
+ }
+
+
+TInt CDirectPrintEngine::ModelCount()
+ {
+ return iModelList->ModelCount();
+ }
+
+void CDirectPrintEngine::ModelName(TInt aIndex, TDes& aDes)
+ {
+ TPtrC name((*iModelList)[aIndex].iModelName);
+ if (name.Length() <= aDes.MaxLength())
+ {
+ aDes.Copy(name);
+ }
+ }
+
+TUid CDirectPrintEngine::ModelUid(TInt aIndex)
+ {
+ return (*iModelList)[aIndex].iUid;
+ }
+
+void CDirectPrintEngine::SetUseModel(TInt aIndex)
+ {
+ iModelIndex = aIndex;
+ }
+
+void CDirectPrintEngine::StartPrintProgressNoteL()
+ {
+ // Delete possible previous CAknProgressDialog.
+ delete iProgressDialog;
+ iProgressDialog = NULL;
+
+ // Create new CAknProgressDialog.
+ iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast
+ <CEikDialog**>
+ ( &iProgressDialog ) );
+
+ iProgressDialog->SetCallback( this );
+ iProgressDialog->PrepareLC( R_DIRECTPRINT_PRINT_PROGRESS_NOTE );
+ iProgressInfo = iProgressDialog->GetProgressInfoL();
+ iProgressInfo->SetFinalValue( iMaxPageNum );
+
+ TBuf<32> msg;
+ msg.AppendFormat(*iProgressMessage, iPageCounter, iMaxPageNum);
+ iProgressDialog->SetTextL(msg);
+ iProgressDialog->RunLD();
+ }
+
+void CDirectPrintEngine::EndPrintProgressNoteL()
+ {
+ if (iProgressDialog)
+ {
+ iProgressDialog->ProcessFinishedL();
+ delete iProgressDialog;
+ iProgressDialog = NULL;
+ }
+ }
+
+void CDirectPrintEngine::UpdatePrintProgressNoteL(TInt aPage)
+ {
+ if (iProgressInfo)
+ {
+ TBuf<32> msg;
+ msg.AppendFormat(*iProgressMessage, aPage, iMaxPageNum);
+ iProgressDialog->SetTextL(msg);
+ iProgressInfo->SetAndDraw(aPage);
+ }
+ }
+
+void CDirectPrintEngine::DialogDismissedL( TInt /*aButtonId*/ )
+ {
+ if (iPrintSetup)
+ {
+ iPrintSetup->EndPrint();
+ }
+ }
+
+void CDirectPrintEngine::StartPrintPreviewL()
+ {
+ // Clear previous object
+ EndPrintPreview();
+
+ // set the total page
+ iMaxPageNum = 1;
+ iPrintSetup->Header()->SetNumPagesInfo(*this);
+
+ TInt modelNum = iModelList->UidToNum(ModelUid(iModelIndex));
+ iPrintSetup->CreatePrinterDeviceL(modelNum);
+
+ // create a port if necessary
+ //CPrinterPort* port=NULL;
+ //if ((*iModelList)[modelNum].iRequiresPrinterPort)
+ // {
+ // port = CFilePrinterPort::NewL(_L("e:\\fpr.pcl"));
+ // }
+
+ iPrintSetup->PrinterDevice()->SelectPageSpecInTwips(KDefaultPageSpecInTwips);
+ iPrintSetup->iPageMarginsInTwips.iHeaderOffset = 720;
+ iPrintSetup->iPageMarginsInTwips.iFooterOffset = 0;
+ iPrintSetup->iPageMarginsInTwips.iMargins.iLeft = 1440; // 1 inch
+ iPrintSetup->iPageMarginsInTwips.iMargins.iRight = 1440;
+ iPrintSetup->iPageMarginsInTwips.iMargins.iTop = 1440;
+ iPrintSetup->iPageMarginsInTwips.iMargins.iBottom = 1440;
+ }
+
+void CDirectPrintEngine::EndPrintPreview()
+ {
+ }
+
+void CDirectPrintEngine::SetParamL(RXmlEngDocument* aParam)
+ {
+ LOG("CDirectPrintEngine::SetParamL BEGIN");
+
+ iParam = aParam;
+ if ( iPrintBand )
+ {
+ delete iPrintBand;
+ iPrintBand = NULL;
+ }
+
+ _LIT8(KElementRecogMode, "RecognizeMode");
+ _LIT8(KElementRecogModeAttr, "mode");
+ _LIT8(KElementRecogModeValueFile, "PrintRecognizeModeFile");
+ _LIT8(KElementRecogModeValuePlugin, "PrintRecognizeModePlugin");
+ _LIT8(KElementFile, "PrintFile");
+ _LIT8(KElementFileAttr, "file");
+ _LIT8(KElementPluginUid, "PluginUid");
+ _LIT8(KElementPluginUidAttr, "uid");
+
+ TXmlEngElement element = iParam->DocumentElement().FirstChild().AsElement();
+ HBufC* filename = NULL;
+ TUint uidValue = 0;
+
+ enum {
+ EParamModeFile = 0x0001,
+ EParamModePlugin = 0x0002,
+ EParamFileExist = 0x0008,
+ EParamPluginExist = 0x0010
+ };
+ TUint paramFlag = 0;
+
+ while (element.NotNull())
+ {
+ if (element.Name().CompareF(KElementRecogMode()) == 0)
+ {
+ TXmlEngAttr attr = element.AttributeNodeL(KElementRecogModeAttr,KNullDesC8);
+ if(attr.Value().CompareF(KElementRecogModeValueFile) == 0)
+ {
+ paramFlag |= EParamModeFile;
+ LOG("Param:Mode=File");
+ }
+ else if(attr.Value().CompareF(KElementRecogModeValuePlugin) == 0)
+ {
+ paramFlag |= EParamModePlugin;
+ LOG("Param:Mode=Plugin");
+ }
+ else
+ {
+ LOG("[Error] Param:Mode=Not set");
+ break;
+ }
+ }
+ else if (element.Name().CompareF(KElementFile()) == 0)
+ {
+ TXmlEngAttr attr = element.AttributeNodeL(KElementFileAttr,KNullDesC8);
+ filename = HBufC::NewLC(attr.Value().Length());
+ TPtr ptr(filename->Des());
+ ptr.Copy(attr.Value());
+ if (ptr.Length() > 0)
+ {
+ LOG1("Param:FileName UID=[%S]", &ptr);
+ if (BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), ptr))
+ {
+ paramFlag |= EParamFileExist;
+ }
+ }
+ if (!(paramFlag & EParamFileExist))
+ {
+ LOG("[Error] File not exist");
+ }
+ }
+ else if (element.Name().CompareF(KElementPluginUid()) == 0)
+ {
+ TXmlEngAttr attr = element.AttributeNodeL(KElementPluginUidAttr,KNullDesC8);
+ //HBufC8* bufUid = HBufC8::NewLC(attr.Value().Length());
+ //TPtr8 ptr(bufUid->Des());
+ HBufC* bufUid = HBufC::NewLC(attr.Value().Length());
+ TPtr ptr(bufUid->Des());
+ ptr.Copy(attr.Value());
+ //_LIT8(KHeadOfHexString, "0x");
+ _LIT(KHeadOfHexString, "0x");
+ const TInt KUidStingLength = 8;
+ if (ptr.Left(KHeadOfHexString().Length()).CompareF(KHeadOfHexString()) == 0)
+ {
+ ptr.Delete(0, KHeadOfHexString().Length());
+ }
+ if (ptr.Length() == KUidStingLength)
+ {
+ //TBuf<8> bufUid;
+ //bufUid.Copy(ptr);
+ //TLex lex(bufUid);
+ TLex lex(ptr);
+ if (lex.Val(uidValue,EHex) == KErrNone)
+ {
+ LOG1("Param:Plugin UID=[0x%X]", uidValue);
+ paramFlag |= EParamPluginExist;
+ }
+ else
+ {
+ LOG("[Error] Convert from HEX string to int");
+ }
+ }
+ if (!(paramFlag & EParamPluginExist))
+ {
+ LOG("[Error] File not exist");
+ }
+ CleanupStack::PopAndDestroy(bufUid); //bufUid
+ }
+
+ if (paramFlag == (EParamFileExist|EParamModeFile)
+ || paramFlag == (EParamPluginExist|EParamModePlugin))
+ {
+ break;
+ }
+ element = element.NextSibling().AsElement();
+ }
+
+ if (paramFlag == (EParamFileExist|EParamModeFile)
+ && filename)
+ {
+ TPtrC ptr(filename->Des());
+ SearchPluginFromFilenameL(ptr);
+ }
+ if (paramFlag == (EParamPluginExist|EParamModePlugin)
+ && uidValue)
+ {
+ TUid uid = TUid::Uid(uidValue);
+ LoadPluginFromUidL(uid);
+ }
+
+ if (filename)
+ {
+ CleanupStack::PopAndDestroy(filename); //filename
+ }
+
+ if ( !iPrintBand )
+ {
+ // error xml parameter
+ User::Leave(KErrArgument);
+ }
+
+ LOG("CDirectPrintEngine::SetParamL END");
+ }
+
+void CDirectPrintEngine::SearchPluginFromFilenameL(const TDesC& aFileName)
+ {
+ LOG("CDirectPrintEngine::SearchPluginFromFilenameL START");
+ RImplInfoPtrArray infoArray;
+ TUid interface = TUid::Uid(KDirectPrintBandInterfaceUid);
+ REComSession::ListImplementationsL( interface, infoArray );
+ CleanupClosePushL( infoArray );
+ LOG1("CDirectPrintEngine::SearchPluginFromFilenameL infoArray.Count(): %d", infoArray.Count());
+
+ TParsePtrC parse(aFileName);
+
+ TPtrC8 dataType;
+ TPtrC16 dispName;
+ TPtrC8 opaqueData;
+ HBufC* dataTypeBuf = NULL;
+ TBool bFound = EFalse;
+ TInt findLen;
+ const TChar KDataTypeSeparator = '|';
+
+ for( TInt i = 0; i < infoArray.Count(); i++ )
+ {
+ LOG1("[InfoArray] i=%d", i);
+ CImplementationInformation* info = infoArray[i];
+ dataType.Set( info->DataType() );
+ dispName.Set( info->DisplayName() );
+ opaqueData.Set( info->OpaqueData() );
+
+ dataTypeBuf = HBufC::NewLC( dataType.Length() );
+ TPtr dataTypePtr(dataTypeBuf->Des());
+ dataTypePtr.Copy( dataType );
+
+ LOG1("[DataType]=[%S]", &dataTypePtr);
+ FOREVER
+ {
+ findLen = dataTypePtr.Locate( KDataTypeSeparator );
+ if (findLen < 0)
+ {
+ // the separator is not found
+ if (dataTypePtr.Length() > 0)
+ {
+ findLen = dataTypePtr.Length();
+ }
+ else
+ {
+ break;
+ }
+ }
+// LOG1("[Compare]=[%S]", &(dataTypePtr.Left( findLen )));
+// LOG1("[Ext]=[%S]", &(parse.Ext()));
+// LOG1("[Comp]=[%S]", &(dataTypePtr.Left( findLen )));
+ if ( parse.Ext().CompareF( dataTypePtr.Left( findLen ) ) == 0 )
+ {
+ bFound = ETrue;
+ break;
+ }
+ dataTypePtr.Delete( 0, findLen+1 );
+ }
+
+ CleanupStack::PopAndDestroy(dataTypeBuf); // dataTypeBuf
+
+ if ( bFound )
+ {
+ LOG("Match!!!");
+ LoadPluginFromUidL(info->ImplementationUid());
+ break;
+ }
+ }
+
+ infoArray.ResetAndDestroy();
+ CleanupStack::PopAndDestroy(&infoArray); // infoArray
+
+ LOG("CDirectPrintEngine::SearchPluginFromFilenameL End");
+ }
+
+void CDirectPrintEngine::LoadPluginFromUidL(const TUid aUid)
+ {
+ LOG1("CDirectPrintEngine::LoadPluginFromUidL(0x%X) Start", aUid.iUid);
+
+ CDirectPrintBand* band = NULL;
+ band = CDirectPrintBand::NewL(aUid);
+ TCleanupItem clItem( CleanupBand, band );
+ CleanupStack::PushL( clItem );
+ band->InitPrintBandL( iPrintSetup,
+ iParam,
+ KNullDesC );
+ CleanupStack::Pop(); // band
+ iPrintBand = band;
+
+ LOG("CDirectPrintEngine::LoadPluginFromUidL End");
+ }
+
+void CDirectPrintEngine::CleanupBand( TAny* aData )
+ {
+ LOG("[CDirectPrintEngine::CleanupBand]\t Begin");
+
+ CDirectPrintBand* band = (CDirectPrintBand*)aData;
+ delete band;
+
+ LOG("[CDirectPrintEngine::CleanupBand]\t End");
+ }
+
+
+
+// End of file
--- a/DirectPrint/DirectPrintApp/engine/src/directprintfloatcapability.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprintfloatcapability.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,119 +1,119 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// System include files
-#include <aknquerydialog.h>
-#include <stringloader.h>
-#include <DirectPrintApp.rsg>
-
-#include "directprintfloatcapability.h"
-
-const TInt KMaxTRealCharNum( 30 );
-const TInt KDecimals( 2 );
-
-// Destructor
-CDirectPrintFloatCapability::~CDirectPrintFloatCapability()
- {
- }
-
-// Creates text string for the settings list box
-HBufC* CDirectPrintFloatCapability::ListBoxTextL()
- {
- const TInt KGranularity( 4 );
- TRealFormat format( KMaxTRealCharNum, KDecimals );
- TBuf<KMaxTRealCharNum> numStr;
-
- numStr.Zero();
- numStr.AppendNum( iRealValue, format );
-
- CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( KGranularity );
- CleanupStack::PushL( strings );
- strings->AppendL( iTitle );
- strings->AppendL( numStr );
-
- HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
- CleanupStack::PopAndDestroy(); // strings
-
- return buf;
- }
-
-// Clones itself
-CDirectPrintBaseCapability* CDirectPrintFloatCapability::CloneL()
- {
- CDirectPrintFloatCapability* clone = new ( ELeave ) CDirectPrintFloatCapability;
-
- clone->iDenominator = iDenominator;
- clone->iIndexOnList = iIndexOnList;
- clone->iMaxNumerator = iMaxNumerator;
- clone->iValue = iValue;
- clone->iTitle = iTitle;
- clone->iUid = iUid;
- clone->iRealValue = iRealValue;
-
- return clone;
- }
-
-// Sets the new values and checks the boundaries
-TInt CDirectPrintFloatCapability::SetValues(
- TInt aDenom,
- TInt aNumerator,
- TInt aMaxNumerator )
- {
- TInt err( KErrNone );
-
- if ( aNumerator > aMaxNumerator )
- {
- err = KErrArgument;
- }
- else
- {
- iDenominator = aDenom;
- iValue = aNumerator;
- iMaxNumerator = aMaxNumerator;
- if( iDenominator != 0 )
- {
- iRealValue = TReal( iValue )/TReal( iDenominator );
- }
- }
-
- return err;
- }
-
-// Numerator
-TInt CDirectPrintFloatCapability::Numerator() const
- {
- return iValue;
- }
-
-// Denominator
-TInt CDirectPrintFloatCapability::Denominator() const
- {
- return iDenominator;
- }
-
-// Creates setting item for the settings list box
-CAknSettingItem* CDirectPrintFloatCapability::SettingItemLC(TInt aIndex)
- {
- CAknIntegerEdwinSettingItem* item = new (ELeave) CAknIntegerEdwinSettingItem(aIndex, iValue); // Not Float Edwin
- CleanupStack::PushL(item);
- item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
-
- return item;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// System include files
+#include <aknquerydialog.h>
+#include <stringloader.h>
+#include <DirectPrintApp.rsg>
+
+#include "directprintfloatcapability.h"
+
+const TInt KMaxTRealCharNum( 30 );
+const TInt KDecimals( 2 );
+
+// Destructor
+CDirectPrintFloatCapability::~CDirectPrintFloatCapability()
+ {
+ }
+
+// Creates text string for the settings list box
+HBufC* CDirectPrintFloatCapability::ListBoxTextL()
+ {
+ const TInt KGranularity( 4 );
+ TRealFormat format( KMaxTRealCharNum, KDecimals );
+ TBuf<KMaxTRealCharNum> numStr;
+
+ numStr.Zero();
+ numStr.AppendNum( iRealValue, format );
+
+ CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( KGranularity );
+ CleanupStack::PushL( strings );
+ strings->AppendL( iTitle );
+ strings->AppendL( numStr );
+
+ HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
+ CleanupStack::PopAndDestroy(); // strings
+
+ return buf;
+ }
+
+// Clones itself
+CDirectPrintBaseCapability* CDirectPrintFloatCapability::CloneL()
+ {
+ CDirectPrintFloatCapability* clone = new ( ELeave ) CDirectPrintFloatCapability;
+
+ clone->iDenominator = iDenominator;
+ clone->iIndexOnList = iIndexOnList;
+ clone->iMaxNumerator = iMaxNumerator;
+ clone->iValue = iValue;
+ clone->iTitle = iTitle;
+ clone->iUid = iUid;
+ clone->iRealValue = iRealValue;
+
+ return clone;
+ }
+
+// Sets the new values and checks the boundaries
+TInt CDirectPrintFloatCapability::SetValues(
+ TInt aDenom,
+ TInt aNumerator,
+ TInt aMaxNumerator )
+ {
+ TInt err( KErrNone );
+
+ if ( aNumerator > aMaxNumerator )
+ {
+ err = KErrArgument;
+ }
+ else
+ {
+ iDenominator = aDenom;
+ iValue = aNumerator;
+ iMaxNumerator = aMaxNumerator;
+ if( iDenominator != 0 )
+ {
+ iRealValue = TReal( iValue )/TReal( iDenominator );
+ }
+ }
+
+ return err;
+ }
+
+// Numerator
+TInt CDirectPrintFloatCapability::Numerator() const
+ {
+ return iValue;
+ }
+
+// Denominator
+TInt CDirectPrintFloatCapability::Denominator() const
+ {
+ return iDenominator;
+ }
+
+// Creates setting item for the settings list box
+CAknSettingItem* CDirectPrintFloatCapability::SettingItemLC(TInt aIndex)
+ {
+ CAknIntegerEdwinSettingItem* item = new (ELeave) CAknIntegerEdwinSettingItem(aIndex, iValue); // Not Float Edwin
+ CleanupStack::PushL(item);
+ item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+
+ return item;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/src/directprintlistcapability.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprintlistcapability.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,131 +1,131 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// System include files
-#include <stringloader.h>
-#include <aknqueryvaluetext.h>
-#include <aknpopupsettingpage.h>
-#include <badesca.h>
-#include <DirectPrintApp.rsg>
-
-#include "directprintlistcapability.h"
-#include "tprinter.h"
-#include "directprintcapabilitycodes.h"
-
-const TInt KArrayGranularity( 4 );
-
-CDirectPrintListCapability::CDirectPrintListCapability()
- {
- }
-
-// Destructor
-CDirectPrintListCapability::~CDirectPrintListCapability()
- {
- iEnumIDs.Close();
- iTexts.ResetAndDestroy();
- }
-
-// Creates text string for the settings list box
-HBufC* CDirectPrintListCapability::ListBoxTextL()
- {
- CDesCArrayFlat* strings =
- new ( ELeave ) CDesCArrayFlat( KArrayGranularity );
- CleanupStack::PushL( strings );
- strings->AppendL( iTitle );
-
- TInt i( 0 );
- TInt num( iEnumIDs.Count() );
- TBool found( EFalse );
- // Find the matching text based on the enumeration value
- for ( i = 0; i < num && !found; i++ )
- {
- if ( iEnumIDs[i] == iValue )
- {
- strings->AppendL( iTexts[i]->Des() );
- found = ETrue;
- }
- }
-
- if ( !found )
- {
- User::Leave( KErrNotFound );
- }
-
- HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
- CleanupStack::PopAndDestroy(); // strings
-
- return buf;
- }
-
-// Clones itself
-CDirectPrintBaseCapability* CDirectPrintListCapability::CloneL()
- {
- CDirectPrintListCapability* clone = new ( ELeave ) CDirectPrintListCapability();
- CleanupStack::PushL( clone );
-
- clone->iValue = iValue;
- clone->iIndexOnList = iIndexOnList;
- clone->iTitle = iTitle;
- clone->iUid = iUid;
-
- TInt num( iEnumIDs.Count() );
- if ( iUid != EDirectPrintCapabLayout )
- {
- for ( TInt j = 0; j < num; j++ )
- {
- User::LeaveIfError( clone->iEnumIDs.Append( iEnumIDs[j] ) );
- User::LeaveIfError( clone->iTexts.Append( iTexts[j]->AllocLC() ) );
- CleanupStack::Pop(); // clone->iTexts
- }
- }
-
- CleanupStack::Pop(); // clone
- return clone;
- }
-
-// Creates setting item for the settings list box
-CAknSettingItem* CDirectPrintListCapability::SettingItemLC(TInt aIndex)
- {
- CAknEnumeratedTextPopupSettingItem* item = new (ELeave) CAknEnumeratedTextPopupSettingItem(aIndex, iEnumIndex);
- CleanupStack::PushL(item);
- item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_TEXTS);
-
- TInt count = iTexts.Count();
- if (count > 0)
- {
- item->EnumeratedTextArray()->ResetAndDestroy();
- }
- for (TInt i=0; i<count; i++ )
- {
- CAknEnumeratedText* enumText;
- enumText = new (ELeave) CAknEnumeratedText(i, iTexts[i]->AllocLC());
- CleanupStack::Pop();
- CleanupStack::PushL(enumText);
- item->EnumeratedTextArray()->AppendL(enumText);
- CleanupStack::Pop();
-
- if (iValue == iEnumIDs[i])
- {
- iEnumIndex = i;
- }
- }
-
- return item;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// System include files
+#include <stringloader.h>
+#include <aknqueryvaluetext.h>
+#include <aknpopupsettingpage.h>
+#include <badesca.h>
+#include <DirectPrintApp.rsg>
+
+#include "directprintlistcapability.h"
+#include "tprinter.h"
+#include "directprintcapabilitycodes.h"
+
+const TInt KArrayGranularity( 4 );
+
+CDirectPrintListCapability::CDirectPrintListCapability()
+ {
+ }
+
+// Destructor
+CDirectPrintListCapability::~CDirectPrintListCapability()
+ {
+ iEnumIDs.Close();
+ iTexts.ResetAndDestroy();
+ }
+
+// Creates text string for the settings list box
+HBufC* CDirectPrintListCapability::ListBoxTextL()
+ {
+ CDesCArrayFlat* strings =
+ new ( ELeave ) CDesCArrayFlat( KArrayGranularity );
+ CleanupStack::PushL( strings );
+ strings->AppendL( iTitle );
+
+ TInt i( 0 );
+ TInt num( iEnumIDs.Count() );
+ TBool found( EFalse );
+ // Find the matching text based on the enumeration value
+ for ( i = 0; i < num && !found; i++ )
+ {
+ if ( iEnumIDs[i] == iValue )
+ {
+ strings->AppendL( iTexts[i]->Des() );
+ found = ETrue;
+ }
+ }
+
+ if ( !found )
+ {
+ User::Leave( KErrNotFound );
+ }
+
+ HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
+ CleanupStack::PopAndDestroy(); // strings
+
+ return buf;
+ }
+
+// Clones itself
+CDirectPrintBaseCapability* CDirectPrintListCapability::CloneL()
+ {
+ CDirectPrintListCapability* clone = new ( ELeave ) CDirectPrintListCapability();
+ CleanupStack::PushL( clone );
+
+ clone->iValue = iValue;
+ clone->iIndexOnList = iIndexOnList;
+ clone->iTitle = iTitle;
+ clone->iUid = iUid;
+
+ TInt num( iEnumIDs.Count() );
+ if ( iUid != EDirectPrintCapabLayout )
+ {
+ for ( TInt j = 0; j < num; j++ )
+ {
+ User::LeaveIfError( clone->iEnumIDs.Append( iEnumIDs[j] ) );
+ User::LeaveIfError( clone->iTexts.Append( iTexts[j]->AllocLC() ) );
+ CleanupStack::Pop(); // clone->iTexts
+ }
+ }
+
+ CleanupStack::Pop(); // clone
+ return clone;
+ }
+
+// Creates setting item for the settings list box
+CAknSettingItem* CDirectPrintListCapability::SettingItemLC(TInt aIndex)
+ {
+ CAknEnumeratedTextPopupSettingItem* item = new (ELeave) CAknEnumeratedTextPopupSettingItem(aIndex, iEnumIndex);
+ CleanupStack::PushL(item);
+ item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_TEXTS);
+
+ TInt count = iTexts.Count();
+ if (count > 0)
+ {
+ item->EnumeratedTextArray()->ResetAndDestroy();
+ }
+ for (TInt i=0; i<count; i++ )
+ {
+ CAknEnumeratedText* enumText;
+ enumText = new (ELeave) CAknEnumeratedText(i, iTexts[i]->AllocLC());
+ CleanupStack::Pop();
+ CleanupStack::PushL(enumText);
+ item->EnumeratedTextArray()->AppendL(enumText);
+ CleanupStack::Pop();
+
+ if (iValue == iEnumIDs[i])
+ {
+ iEnumIndex = i;
+ }
+ }
+
+ return item;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/src/directprintprintsettings.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprintprintsettings.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,53 +1,53 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// User include files
-#include "directprintprintsettings.h"
-#include "directprintbasecapability.h"
-
-// CONSTRUCTION
-CDirectPrintPrintSettings::CDirectPrintPrintSettings()
- {
- }
-
-// Default destructor
-CDirectPrintPrintSettings::~CDirectPrintPrintSettings()
- {
- iCapabilities.ResetAndDestroy();
- }
-
-// Clone this instance and return it
-CDirectPrintPrintSettings* CDirectPrintPrintSettings::CloneL()
- {
- CDirectPrintPrintSettings* clone = new ( ELeave ) CDirectPrintPrintSettings;
- CleanupStack::PushL( clone );
-
- TInt i( 0 );
- TInt num( iCapabilities.Count() );
- for ( i = 0; i < num; i++ )
- {
- User::LeaveIfError(
- clone->iCapabilities.Append( iCapabilities[i]->CloneL() ) );
- }
-
- CleanupStack::Pop(); // clone
-
- return clone;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// User include files
+#include "directprintprintsettings.h"
+#include "directprintbasecapability.h"
+
+// CONSTRUCTION
+CDirectPrintPrintSettings::CDirectPrintPrintSettings()
+ {
+ }
+
+// Default destructor
+CDirectPrintPrintSettings::~CDirectPrintPrintSettings()
+ {
+ iCapabilities.ResetAndDestroy();
+ }
+
+// Clone this instance and return it
+CDirectPrintPrintSettings* CDirectPrintPrintSettings::CloneL()
+ {
+ CDirectPrintPrintSettings* clone = new ( ELeave ) CDirectPrintPrintSettings;
+ CleanupStack::PushL( clone );
+
+ TInt i( 0 );
+ TInt num( iCapabilities.Count() );
+ for ( i = 0; i < num; i++ )
+ {
+ User::LeaveIfError(
+ clone->iCapabilities.Append( iCapabilities[i]->CloneL() ) );
+ }
+
+ CleanupStack::Pop(); // clone
+
+ return clone;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/src/directprintsettingsconverter.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprintsettingsconverter.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,240 +1,240 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// System include files
-#include <stringloader.h>
-
-// User include files
-#include "directprintsettingsconverter.h"
-#include "directprinttintcapability.h"
-#include "directprintlistcapability.h"
-#include "directprintfloatcapability.h"
-#include "directprinttextcapability.h"
-#include "directprintstringids.h"
-#include "directprintcapability.h"
-#include "directprintvariant.h"
-#include "clog.h"
-
-const TInt KEngineLimitValue( -1 );
-const TInt KMenuItemsRequired( 2 );
-
-// Converts TDirectPrintCapability to CDirectPrintTIntCapability
-CDirectPrintTIntCapability* DirectPrintSettingsConverter::AddTIntCapabilityLC(
- TDirectPrintCapability& aCapability,
- TInt aIndexOnList,
- TInt aCapabUid )
- {
- LOG("DirectPrintSettingsConverter::AddTIntCapabilityLC Begin");
- CDirectPrintTIntCapability* intC = new ( ELeave ) CDirectPrintTIntCapability;
- CleanupStack::PushL( intC );
-
- // If engine returns KEngineLimitValue as low/high limit then it means
- // that there is no minimum or maximum limit
- if ( aCapability.iLow == KEngineLimitValue )
- {
- intC->iMin = KMinTInt32;
- }
- else
- {
- intC->iMin = aCapability.iLow;
- }
-
- if ( aCapability.iHigh == KEngineLimitValue )
- {
- intC->iMax = KMaxTInt32;
- }
- else
- {
- intC->iMax = aCapability.iHigh;
- }
-
- // Initialize TInt capability and return it
- intC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
- CleanupStack::PopAndDestroy(); // SettingsConverter text string
- intC->iIndexOnList = aIndexOnList;
- intC->iUid = aCapabUid;
- intC->iValue = aCapability.iDefaultValue;
-
- LOG("DirectPrintSettingsConverter::AddTIntCapabilityLC End");
- return intC;
- }
-
-// Converts TDirectPrintCapability to CDirectPrintListCapability
-CDirectPrintListCapability* DirectPrintSettingsConverter::AddListCapabilityLC(
- TDirectPrintCapability& aCapability,
- TInt aIndexOnList,
- TInt aCapabUid )
- {
- LOG("DirectPrintSettingsConverter::AddListCapabilityLC Begin");
- CDirectPrintListCapability* listC = new ( ELeave ) CDirectPrintListCapability();
- CleanupStack::PushL( listC );
- listC->iIndexOnList = aIndexOnList;
- listC->iUid = aCapabUid;
-
- /* There's a problem with some usb printers:
- They offer "normal" print quality twice and nothing else.
- This has to be handled so that user is not shown the option
- as he cannot change it anyway in this case */
- TBool qualityDuplicates = EFalse;
- if ( aCapabUid == EDirectPrintCapabQuality &&
- aCapability.iEnumCount == KMenuItemsRequired )
- {
- if ( aCapability.iEnumCodes[0] == aCapability.iEnumCodes[1] )
- {
- LOG("DirectPrintSettingsConverter::AddListCapabilityLC duplicate quality detected!");
- qualityDuplicates = ETrue;
- }
- }
-
- // If there is only one value for certain capability, empty
- // title is added so the capability is not visible on the
- // settings menu.
- if( aCapability.iEnumCount < KMenuItemsRequired || qualityDuplicates )
- {
- listC->iTitle = DirectPrintSettingsConverter::TextStringLC( 0 )->Des();
- }
- else
- {
- listC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
- }
-
- CleanupStack::PopAndDestroy(); // SettingsConverter text string
- listC->iValue = aCapability.iDefaultValue;
-
- TBool enumLabels = listC->iTitle.CompareF( KNullDesC() ) != 0;
- TInt i( 0 );
- TInt num( aCapability.iEnumCount );
- for ( i = 0; i < num; i++ )
- {
- User::LeaveIfError(
- listC->iEnumIDs.Append( aCapability.iEnumCodes[i] ) );
-
- // Find matching text for the enumeration if the capability is
- // visible on the settings view
-#ifdef DIRECT_PRINT_DYNAMIC_PRINT_SETTINGS
- if ( enumLabels || aCapability.iEnumCount < KMenuItemsRequired )
-#else
- // Not for layout if no dynamic print settings
- if (( enumLabels || aCapability.iEnumCount < KMenuItemsRequired ) &&
- aCapabUid != EDirectPrintCapabLayout )
-#endif
- {
- LOG("DirectPrintSettingsConverter::AddListCapabilityLC Adding real value");
- User::LeaveIfError( listC->iTexts.Append(
- DirectPrintSettingsConverter::TextStringLC( aCapability.iEnumCodes[i] )));
- CleanupStack::Pop(); // SettingsConverter text string
- }
- else
- {
- LOG("DirectPrintSettingsConverter::AddListCapabilityLC Adding EMPTY value");
- User::LeaveIfError( listC->iTexts.Append(
- StringLoader::LoadLC( R_EMPTY ) ) );
- CleanupStack::Pop(); // SettingsConverter text string
- }
- }
-
- if ( aCapability.iEnumCount > 0 )
- {
- i = 0;
- // Check that current active capability code is found from the
- // list of codes and activate first one if not found
- TInt num( aCapability.iEnumCount );
- while ( i < num &&
- listC->iValue != aCapability.iEnumCodes[i] )
- {
- i++;
- }
- if ( i >= aCapability.iEnumCount )
- {
- listC->iValue = aCapability.iEnumCodes[0];
- }
- }
-
- LOG("DirectPrintSettingsConverter::AddListCapabilityLC End");
- return listC;
- }
-
-// Converts TDirectPrintCapability to CDirectPrintFloatCapability
-CDirectPrintFloatCapability* DirectPrintSettingsConverter::AddFloatCapabilityLC(
- TDirectPrintCapability& aCapability,
- TInt aIndexOnList,
- TInt aCapabUid )
- {
- LOG("DirectPrintSettingsConverter::AddFloatCapabilityLC Begin");
- CDirectPrintFloatCapability* floatC = new ( ELeave ) CDirectPrintFloatCapability;
- CleanupStack::PushL( floatC );
-
- floatC->iIndexOnList = aIndexOnList;
- floatC->iUid = aCapabUid;
- floatC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
- CleanupStack::PopAndDestroy(); // SettingsConverter text string
-
- floatC->SetValues( aCapability.iLow,
- aCapability.iDefaultValue, aCapability.iHigh );
-
- LOG("DirectPrintSettingsConverter::AddFloatCapabilityLC End");
- return floatC;
- }
-
-// Converts TDirectPrintCapability to CDirectPrintTextCapability
-CDirectPrintTextCapability* DirectPrintSettingsConverter::AddTextCapabilityLC(
- TDirectPrintCapability& /*aCapability*/,
- TInt aIndexOnList,
- TInt aCapabUid )
- {
- LOG("DirectPrintSettingsConverter::AddTextCapabilityLC Begin");
- CDirectPrintTextCapability* textC = new ( ELeave ) CDirectPrintTextCapability;
- CleanupStack::PushL( textC );
-
- textC->iIndexOnList = aIndexOnList;
- textC->iUid = aCapabUid;
- textC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
- CleanupStack::PopAndDestroy(); // SettingsConverter text string
-
- LOG("DirectPrintSettingsConverter::AddTextCapabilityLC End");
- return textC;
- }
-
-// Fetches text string based on the enumeration ID
-HBufC* DirectPrintSettingsConverter::TextStringLC(
- TInt aId )
- {
- LOG1("DirectPrintSettingsConverter::TextStringLC Begin: %d", aId );
- HBufC* buf = 0;
- TBool found( EFalse );
-
- TInt i( 0 );
- for ( i = 0; i < KConverterTableCount && !found; i++ )
- {
- if ( aId == KIDConverterTable[i][0] )
- {
- buf = StringLoader::LoadLC( KIDConverterTable[i][1] );
- found = ETrue;
- }
- }
-
- if ( !found )
- {
- User::Leave( KErrNotFound );
- }
-
- LOG("DirectPrintSettingsConverter::TextStringLC End");
- return buf;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// System include files
+#include <stringloader.h>
+
+// User include files
+#include "directprintsettingsconverter.h"
+#include "directprinttintcapability.h"
+#include "directprintlistcapability.h"
+#include "directprintfloatcapability.h"
+#include "directprinttextcapability.h"
+#include "directprintstringids.h"
+#include "directprintcapability.h"
+#include "directprintvariant.h"
+#include "clog.h"
+
+const TInt KEngineLimitValue( -1 );
+const TInt KMenuItemsRequired( 2 );
+
+// Converts TDirectPrintCapability to CDirectPrintTIntCapability
+CDirectPrintTIntCapability* DirectPrintSettingsConverter::AddTIntCapabilityLC(
+ TDirectPrintCapability& aCapability,
+ TInt aIndexOnList,
+ TInt aCapabUid )
+ {
+ LOG("DirectPrintSettingsConverter::AddTIntCapabilityLC Begin");
+ CDirectPrintTIntCapability* intC = new ( ELeave ) CDirectPrintTIntCapability;
+ CleanupStack::PushL( intC );
+
+ // If engine returns KEngineLimitValue as low/high limit then it means
+ // that there is no minimum or maximum limit
+ if ( aCapability.iLow == KEngineLimitValue )
+ {
+ intC->iMin = KMinTInt32;
+ }
+ else
+ {
+ intC->iMin = aCapability.iLow;
+ }
+
+ if ( aCapability.iHigh == KEngineLimitValue )
+ {
+ intC->iMax = KMaxTInt32;
+ }
+ else
+ {
+ intC->iMax = aCapability.iHigh;
+ }
+
+ // Initialize TInt capability and return it
+ intC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
+ CleanupStack::PopAndDestroy(); // SettingsConverter text string
+ intC->iIndexOnList = aIndexOnList;
+ intC->iUid = aCapabUid;
+ intC->iValue = aCapability.iDefaultValue;
+
+ LOG("DirectPrintSettingsConverter::AddTIntCapabilityLC End");
+ return intC;
+ }
+
+// Converts TDirectPrintCapability to CDirectPrintListCapability
+CDirectPrintListCapability* DirectPrintSettingsConverter::AddListCapabilityLC(
+ TDirectPrintCapability& aCapability,
+ TInt aIndexOnList,
+ TInt aCapabUid )
+ {
+ LOG("DirectPrintSettingsConverter::AddListCapabilityLC Begin");
+ CDirectPrintListCapability* listC = new ( ELeave ) CDirectPrintListCapability();
+ CleanupStack::PushL( listC );
+ listC->iIndexOnList = aIndexOnList;
+ listC->iUid = aCapabUid;
+
+ /* There's a problem with some usb printers:
+ They offer "normal" print quality twice and nothing else.
+ This has to be handled so that user is not shown the option
+ as he cannot change it anyway in this case */
+ TBool qualityDuplicates = EFalse;
+ if ( aCapabUid == EDirectPrintCapabQuality &&
+ aCapability.iEnumCount == KMenuItemsRequired )
+ {
+ if ( aCapability.iEnumCodes[0] == aCapability.iEnumCodes[1] )
+ {
+ LOG("DirectPrintSettingsConverter::AddListCapabilityLC duplicate quality detected!");
+ qualityDuplicates = ETrue;
+ }
+ }
+
+ // If there is only one value for certain capability, empty
+ // title is added so the capability is not visible on the
+ // settings menu.
+ if( aCapability.iEnumCount < KMenuItemsRequired || qualityDuplicates )
+ {
+ listC->iTitle = DirectPrintSettingsConverter::TextStringLC( 0 )->Des();
+ }
+ else
+ {
+ listC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
+ }
+
+ CleanupStack::PopAndDestroy(); // SettingsConverter text string
+ listC->iValue = aCapability.iDefaultValue;
+
+ TBool enumLabels = listC->iTitle.CompareF( KNullDesC() ) != 0;
+ TInt i( 0 );
+ TInt num( aCapability.iEnumCount );
+ for ( i = 0; i < num; i++ )
+ {
+ User::LeaveIfError(
+ listC->iEnumIDs.Append( aCapability.iEnumCodes[i] ) );
+
+ // Find matching text for the enumeration if the capability is
+ // visible on the settings view
+#ifdef DIRECT_PRINT_DYNAMIC_PRINT_SETTINGS
+ if ( enumLabels || aCapability.iEnumCount < KMenuItemsRequired )
+#else
+ // Not for layout if no dynamic print settings
+ if (( enumLabels || aCapability.iEnumCount < KMenuItemsRequired ) &&
+ aCapabUid != EDirectPrintCapabLayout )
+#endif
+ {
+ LOG("DirectPrintSettingsConverter::AddListCapabilityLC Adding real value");
+ User::LeaveIfError( listC->iTexts.Append(
+ DirectPrintSettingsConverter::TextStringLC( aCapability.iEnumCodes[i] )));
+ CleanupStack::Pop(); // SettingsConverter text string
+ }
+ else
+ {
+ LOG("DirectPrintSettingsConverter::AddListCapabilityLC Adding EMPTY value");
+ User::LeaveIfError( listC->iTexts.Append(
+ StringLoader::LoadLC( R_EMPTY ) ) );
+ CleanupStack::Pop(); // SettingsConverter text string
+ }
+ }
+
+ if ( aCapability.iEnumCount > 0 )
+ {
+ i = 0;
+ // Check that current active capability code is found from the
+ // list of codes and activate first one if not found
+ TInt num( aCapability.iEnumCount );
+ while ( i < num &&
+ listC->iValue != aCapability.iEnumCodes[i] )
+ {
+ i++;
+ }
+ if ( i >= aCapability.iEnumCount )
+ {
+ listC->iValue = aCapability.iEnumCodes[0];
+ }
+ }
+
+ LOG("DirectPrintSettingsConverter::AddListCapabilityLC End");
+ return listC;
+ }
+
+// Converts TDirectPrintCapability to CDirectPrintFloatCapability
+CDirectPrintFloatCapability* DirectPrintSettingsConverter::AddFloatCapabilityLC(
+ TDirectPrintCapability& aCapability,
+ TInt aIndexOnList,
+ TInt aCapabUid )
+ {
+ LOG("DirectPrintSettingsConverter::AddFloatCapabilityLC Begin");
+ CDirectPrintFloatCapability* floatC = new ( ELeave ) CDirectPrintFloatCapability;
+ CleanupStack::PushL( floatC );
+
+ floatC->iIndexOnList = aIndexOnList;
+ floatC->iUid = aCapabUid;
+ floatC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
+ CleanupStack::PopAndDestroy(); // SettingsConverter text string
+
+ floatC->SetValues( aCapability.iLow,
+ aCapability.iDefaultValue, aCapability.iHigh );
+
+ LOG("DirectPrintSettingsConverter::AddFloatCapabilityLC End");
+ return floatC;
+ }
+
+// Converts TDirectPrintCapability to CDirectPrintTextCapability
+CDirectPrintTextCapability* DirectPrintSettingsConverter::AddTextCapabilityLC(
+ TDirectPrintCapability& /*aCapability*/,
+ TInt aIndexOnList,
+ TInt aCapabUid )
+ {
+ LOG("DirectPrintSettingsConverter::AddTextCapabilityLC Begin");
+ CDirectPrintTextCapability* textC = new ( ELeave ) CDirectPrintTextCapability;
+ CleanupStack::PushL( textC );
+
+ textC->iIndexOnList = aIndexOnList;
+ textC->iUid = aCapabUid;
+ textC->iTitle = DirectPrintSettingsConverter::TextStringLC( aCapabUid )->Des();
+ CleanupStack::PopAndDestroy(); // SettingsConverter text string
+
+ LOG("DirectPrintSettingsConverter::AddTextCapabilityLC End");
+ return textC;
+ }
+
+// Fetches text string based on the enumeration ID
+HBufC* DirectPrintSettingsConverter::TextStringLC(
+ TInt aId )
+ {
+ LOG1("DirectPrintSettingsConverter::TextStringLC Begin: %d", aId );
+ HBufC* buf = 0;
+ TBool found( EFalse );
+
+ TInt i( 0 );
+ for ( i = 0; i < KConverterTableCount && !found; i++ )
+ {
+ if ( aId == KIDConverterTable[i][0] )
+ {
+ buf = StringLoader::LoadLC( KIDConverterTable[i][1] );
+ found = ETrue;
+ }
+ }
+
+ if ( !found )
+ {
+ User::Leave( KErrNotFound );
+ }
+
+ LOG("DirectPrintSettingsConverter::TextStringLC End");
+ return buf;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/src/directprinttextcapability.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprinttextcapability.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,69 +1,69 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// System include files
-#include <stringloader.h>
-#include <akntextsettingpage.h>
-#include <DirectPrintApp.rsg>
-
-#include "directprinttextcapability.h"
-
-// Destructor
-CDirectPrintTextCapability::~CDirectPrintTextCapability()
- {
- }
-
-HBufC* CDirectPrintTextCapability::ListBoxTextL()
- {
- const TInt KGranularity( 4 );
-
- CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( KGranularity );
- CleanupStack::PushL( strings );
- strings->AppendL( iTitle );
- strings->AppendL( iText );
-
- HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
- CleanupStack::PopAndDestroy(); // strings
-
- return buf;
- }
-
-CDirectPrintBaseCapability* CDirectPrintTextCapability::CloneL()
- {
- CDirectPrintTextCapability* clone = new ( ELeave ) CDirectPrintTextCapability;
-
- clone->iIndexOnList = iIndexOnList;
- clone->iTitle = iTitle;
- clone->iUid = iUid;
- clone->iValue = iValue;
- clone->iText = iText;
-
- return clone;
- }
-
-CAknSettingItem* CDirectPrintTextCapability::SettingItemLC(TInt aIndex)
- {
- CAknTextSettingItem* item = new (ELeave) CAknTextSettingItem(aIndex, iText);
- CleanupStack::PushL(item);
- item->SetEmptyItemTextL( _L("") );
- item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_TEXT_SETTING_PAGE, -1);
-
- return item;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// System include files
+#include <stringloader.h>
+#include <akntextsettingpage.h>
+#include <DirectPrintApp.rsg>
+
+#include "directprinttextcapability.h"
+
+// Destructor
+CDirectPrintTextCapability::~CDirectPrintTextCapability()
+ {
+ }
+
+HBufC* CDirectPrintTextCapability::ListBoxTextL()
+ {
+ const TInt KGranularity( 4 );
+
+ CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( KGranularity );
+ CleanupStack::PushL( strings );
+ strings->AppendL( iTitle );
+ strings->AppendL( iText );
+
+ HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
+ CleanupStack::PopAndDestroy(); // strings
+
+ return buf;
+ }
+
+CDirectPrintBaseCapability* CDirectPrintTextCapability::CloneL()
+ {
+ CDirectPrintTextCapability* clone = new ( ELeave ) CDirectPrintTextCapability;
+
+ clone->iIndexOnList = iIndexOnList;
+ clone->iTitle = iTitle;
+ clone->iUid = iUid;
+ clone->iValue = iValue;
+ clone->iText = iText;
+
+ return clone;
+ }
+
+CAknSettingItem* CDirectPrintTextCapability::SettingItemLC(TInt aIndex)
+ {
+ CAknTextSettingItem* item = new (ELeave) CAknTextSettingItem(aIndex, iText);
+ CleanupStack::PushL(item);
+ item->SetEmptyItemTextL( _L("") );
+ item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_TEXT_SETTING_PAGE, -1);
+
+ return item;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/engine/src/directprinttintcapability.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/engine/src/directprinttintcapability.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,77 +1,77 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// System include files
-#include <stringloader.h>
-#include <akntextsettingpage.h>
-#include <DirectPrintApp.rsg>
-
-#include "directprinttintcapability.h"
-
-const TInt KMaxTIntCharNum( 11 );
-
-// Destructor
-CDirectPrintTIntCapability::~CDirectPrintTIntCapability()
- {
- }
-
-// Creates text string for the settings list box
-HBufC* CDirectPrintTIntCapability::ListBoxTextL()
- {
- const TInt KGranularity( 4 );
- TBuf<KMaxTIntCharNum> numStr;
- numStr.Zero();
- numStr.AppendNum( iValue );
-
- CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( KGranularity );
- CleanupStack::PushL( strings );
- strings->AppendL( iTitle );
- strings->AppendL( numStr );
-
- HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
- CleanupStack::PopAndDestroy(); // strings
-
- return buf;
- }
-
-// Clones itself
-CDirectPrintBaseCapability* CDirectPrintTIntCapability::CloneL()
- {
- CDirectPrintTIntCapability* clone = new ( ELeave ) CDirectPrintTIntCapability;
-
- clone->iIndexOnList = iIndexOnList;
- clone->iMax = iMax;
- clone->iMin = iMin;
- clone->iTitle = iTitle;
- clone->iUid = iUid;
- clone->iValue = iValue;
-
- return clone;
- }
-
-// Creates setting item for the settings list box
-CAknSettingItem* CDirectPrintTIntCapability::SettingItemLC(TInt aIndex)
- {
- CAknIntegerEdwinSettingItem* item = new (ELeave) CAknIntegerEdwinSettingItem(aIndex, iValue);
- CleanupStack::PushL(item);
- item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
-
- return item;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// System include files
+#include <stringloader.h>
+#include <akntextsettingpage.h>
+#include <DirectPrintApp.rsg>
+
+#include "directprinttintcapability.h"
+
+const TInt KMaxTIntCharNum( 11 );
+
+// Destructor
+CDirectPrintTIntCapability::~CDirectPrintTIntCapability()
+ {
+ }
+
+// Creates text string for the settings list box
+HBufC* CDirectPrintTIntCapability::ListBoxTextL()
+ {
+ const TInt KGranularity( 4 );
+ TBuf<KMaxTIntCharNum> numStr;
+ numStr.Zero();
+ numStr.AppendNum( iValue );
+
+ CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( KGranularity );
+ CleanupStack::PushL( strings );
+ strings->AppendL( iTitle );
+ strings->AppendL( numStr );
+
+ HBufC* buf = StringLoader::LoadL( R_QTN_LBOX_FORMAT, *strings );
+ CleanupStack::PopAndDestroy(); // strings
+
+ return buf;
+ }
+
+// Clones itself
+CDirectPrintBaseCapability* CDirectPrintTIntCapability::CloneL()
+ {
+ CDirectPrintTIntCapability* clone = new ( ELeave ) CDirectPrintTIntCapability;
+
+ clone->iIndexOnList = iIndexOnList;
+ clone->iMax = iMax;
+ clone->iMin = iMin;
+ clone->iTitle = iTitle;
+ clone->iUid = iUid;
+ clone->iValue = iValue;
+
+ return clone;
+ }
+
+// Creates setting item for the settings list box
+CAknSettingItem* CDirectPrintTIntCapability::SettingItemLC(TInt aIndex)
+ {
+ CAknIntegerEdwinSettingItem* item = new (ELeave) CAknIntegerEdwinSettingItem(aIndex, iValue);
+ CleanupStack::PushL(item);
+ item->ConstructL(EFalse, aIndex, iTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+
+ return item;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp.svg Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp.svg Tue May 11 14:10:02 2010 +0800
@@ -1,231 +1,231 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
- y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
-<polyline fill="#EED6FF" points="22.889,27.984 4.625,41.375 4.75,65.688 5.765,67.223 6.865,67.988 7.794,68.883 17.375,70
- 14.125,75.125 43.5,80.375 47.5,73.75 63.099,75.018 72.485,74.635 73.501,73.954 74.261,73.612 82.125,63.132 82.125,61.726
- 82.125,33.225 81.618,32.202 80.857,31.436 79.842,31.052 59.249,30.315 59,30.125 59.5,23.375 58.625,23.367 29.125,22.875
- 28.724,28.112 "/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.6255" y1="53.1055" x2="72.8606" y2="19.8405">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.2537" style="stop-color:#A6AEB0"/>
- <stop offset="0.4063" style="stop-color:#9EA5A8"/>
- <stop offset="0.5322" style="stop-color:#90979A"/>
- <stop offset="0.6435" style="stop-color:#7D8385"/>
- <stop offset="0.7453" style="stop-color:#65696B"/>
- <stop offset="0.84" style="stop-color:#464A4B"/>
- <stop offset="0.9275" style="stop-color:#232525"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1_)" points="20.833,30.833 10.5,38.5 12.167,40.167 69.166,44.167 81.501,33.667 79.5,31.833
- 28.167,28.833 24.5,28.833 22.167,29.5 "/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.1665" y1="44.167" x2="71.334" y2="44.167">
- <stop offset="0.0909" style="stop-color:#000000"/>
- <stop offset="0.3465" style="stop-color:#020202"/>
- <stop offset="0.4804" style="stop-color:#0A0A0A"/>
- <stop offset="0.5862" style="stop-color:#181818"/>
- <stop offset="0.6771" style="stop-color:#2B2B2B"/>
- <stop offset="0.7586" style="stop-color:#444444"/>
- <stop offset="0.8334" style="stop-color:#626262"/>
- <stop offset="0.9029" style="stop-color:#868686"/>
- <stop offset="0.9666" style="stop-color:#AFAFAF"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
- <stop offset="1" style="stop-color:#FFFCFF"/>
-</linearGradient>
-<polygon fill="url(#SVGID_2_)" points="5.167,42.167 7.125,43.375 9.158,44.537 11.833,45.167 62.334,49.334 70.167,49.834
- 71.334,49 69.166,44.167 12.167,40.167 10.5,38.5 "/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="62.166" y1="51.333" x2="81.5" y2="51.333">
- <stop offset="0" style="stop-color:#9C9C96;stop-opacity:0.56"/>
- <stop offset="0.2262" style="stop-color:#9E9E98;stop-opacity:0.7507"/>
- <stop offset="0.3077" style="stop-color:#A5A59F;stop-opacity:0.8194"/>
- <stop offset="0.3658" style="stop-color:#B0B0AA;stop-opacity:0.8683"/>
- <stop offset="0.4128" style="stop-color:#C1C1BB;stop-opacity:0.9079"/>
- <stop offset="0.453" style="stop-color:#D7D7D1;stop-opacity:0.9418"/>
- <stop offset="0.488" style="stop-color:#F1F1EC;stop-opacity:0.9713"/>
- <stop offset="0.503" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.6882" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.7549" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.8025" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.841" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.8739" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9031" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9295" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9537" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9763" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9963" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#141415"/>
- <stop offset="1" style="stop-color:#2D2D30"/>
- <stop offset="1" style="stop-color:#505054"/>
- <stop offset="1" style="stop-color:#7D7D83"/>
- <stop offset="1" style="stop-color:#B2B2BC"/>
- <stop offset="1" style="stop-color:#BDBDC7"/>
-</linearGradient>
-<polyline fill="url(#SVGID_3_)" points="74.001,48.5 74.166,48.5 80.166,41.5 81.5,38.833 81.5,33.5 81.5,38.833 81.5,60.833
- 74.666,67.666 73.166,69.166 62.166,69.166 62.166,51.167 70.875,51.125 72,50.375 74.166,48.5 80.166,41.5 "/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="5.2915" y1="53.333" x2="13.0005" y2="53.333">
- <stop offset="0" style="stop-color:#ADADAB;stop-opacity:0.56"/>
- <stop offset="0.3404" style="stop-color:#AFAFAD;stop-opacity:0.7585"/>
- <stop offset="0.463" style="stop-color:#B6B6B3;stop-opacity:0.8299"/>
- <stop offset="0.5504" style="stop-color:#C1C1BF;stop-opacity:0.8809"/>
- <stop offset="0.621" style="stop-color:#D2D2CF;stop-opacity:0.9221"/>
- <stop offset="0.6808" style="stop-color:#E8E8E4;stop-opacity:0.9569"/>
- <stop offset="0.7273" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.8289" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.8655" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.8916" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.9127" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.9308" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9468" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9613" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9746" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.987" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.998" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#F7F7F7"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="5.292,42.167 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 13,45.334 9.283,44.537 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="12.834" y1="48.25" x2="71.75" y2="48.25">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
- <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
- <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
- <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
- <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#F7F7F7"/>
-</linearGradient>
-<polygon fill="url(#SVGID_5_)" points="70.5,51.167 62.166,51.167 12.834,47 13,45.334 70.167,49.834 71.25,49.125 71.75,50.625 "/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="5.4995" y1="60.584" x2="81.5" y2="60.584">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.0042" style="stop-color:#C5C5BB;stop-opacity:0.5619"/>
- <stop offset="0.0499" style="stop-color:#9C9C94;stop-opacity:0.5819"/>
- <stop offset="0.0998" style="stop-color:#777771;stop-opacity:0.6039"/>
- <stop offset="0.1556" style="stop-color:#575752;stop-opacity:0.6284"/>
- <stop offset="0.2171" style="stop-color:#3B3B38;stop-opacity:0.6555"/>
- <stop offset="0.2867" style="stop-color:#252524;stop-opacity:0.6861"/>
- <stop offset="0.3679" style="stop-color:#141413;stop-opacity:0.7219"/>
- <stop offset="0.4683" style="stop-color:#090908;stop-opacity:0.7661"/>
- <stop offset="0.6091" style="stop-color:#020202;stop-opacity:0.828"/>
- <stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="81.5,60.833 81.167,63.334 73.001,73.334 72.001,74 68.834,74 65.001,74.167 61.834,74.167
- 10,68.5 8.834,68.334 7.334,67.5 5.834,65.667 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 12.834,47 62.166,51.167
- 62.166,69.166 70,69.25 71.75,69 72.875,68.625 74,67.875 "/>
-<g>
- <polygon fill="#FFFFFF" points="16.193,74.057 28.847,57.109 54.479,60.105 42.896,79.108 "/>
- <path fill="#CCCCCC" d="M29.059,57.602l24.646,2.881L42.666,78.592l-25.655-4.854L29.059,57.602 M28.635,56.616l-13.26,17.759
- l27.75,5.25l12.129-19.897L28.635,56.616L28.635,56.616z"/>
-</g>
-<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="43.6729" y1="40.2471" x2="44.2277" y2="24.3578" gradientTransform="matrix(0.9873 -0.0177 0.0176 0.985 -0.1104 0.7738)">
- <stop offset="0.49" style="stop-color:#E0E0DE"/>
- <stop offset="0.6851" style="stop-color:#DEDEDC"/>
- <stop offset="0.7553" style="stop-color:#D7D7D5"/>
- <stop offset="0.8054" style="stop-color:#CBCBCA"/>
- <stop offset="0.8459" style="stop-color:#BBBBB9"/>
- <stop offset="0.8806" style="stop-color:#A5A5A3"/>
- <stop offset="0.9114" style="stop-color:#898988"/>
- <stop offset="0.9392" style="stop-color:#696968"/>
- <stop offset="0.9647" style="stop-color:#434343"/>
- <stop offset="0.9875" style="stop-color:#1A1A1A"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606;stop-opacity:0.9437"/>
- <stop offset="1" style="stop-color:#151515;stop-opacity:0.8718"/>
- <stop offset="1" style="stop-color:#303030;stop-opacity:0.7914"/>
- <stop offset="1" style="stop-color:#545454;stop-opacity:0.7049"/>
- <stop offset="1" style="stop-color:#838383;stop-opacity:0.6134"/>
- <stop offset="1" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
- <stop offset="1" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
-</linearGradient>
-<polygon fill="url(#SVGID_7_)" stroke="#FFFFFF" stroke-width="0.7398" points="29.968,23.748 29.229,38.253 57.516,39.879
- 58.485,24.731 57.745,24.744 "/>
-<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="25.834" y1="41.75" x2="57.5" y2="41.75">
- <stop offset="0" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
- <stop offset="0" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
- <stop offset="0" style="stop-color:#838383;stop-opacity:0.6134"/>
- <stop offset="0" style="stop-color:#545454;stop-opacity:0.7049"/>
- <stop offset="0" style="stop-color:#303030;stop-opacity:0.7914"/>
- <stop offset="0" style="stop-color:#151515;stop-opacity:0.8718"/>
- <stop offset="0" style="stop-color:#060606;stop-opacity:0.9437"/>
- <stop offset="0" style="stop-color:#000000"/>
- <stop offset="0.0125" style="stop-color:#1A1A1A"/>
- <stop offset="0.0353" style="stop-color:#434343"/>
- <stop offset="0.0608" style="stop-color:#696968"/>
- <stop offset="0.0886" style="stop-color:#898988"/>
- <stop offset="0.1194" style="stop-color:#A5A5A3"/>
- <stop offset="0.1541" style="stop-color:#BBBBB9"/>
- <stop offset="0.1946" style="stop-color:#CBCBCA"/>
- <stop offset="0.2447" style="stop-color:#D7D7D5"/>
- <stop offset="0.3149" style="stop-color:#DEDEDC"/>
- <stop offset="0.51" style="stop-color:#E0E0DE"/>
-</linearGradient>
-<polygon fill="url(#SVGID_8_)" stroke="#666666" stroke-width="0.5" points="25.834,42.667 29.167,38.833 57.5,40.375
- 54.667,44.667 "/>
-<polygon fill="#FFFFFF" points="36.375,29.375 36,29.375 35.667,34.875 49.834,35.708 50,29.875 "/>
-<polygon points="23.75,29.375 6.5,42.75 5.375,41.75 22.167,29.5 22.875,29 23.625,28.875 "/>
-<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="69.2783" y1="45.7109" x2="83.5552" y2="36.7898">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.1726" style="stop-color:#7B8183"/>
- <stop offset="0.3672" style="stop-color:#4F5355"/>
- <stop offset="0.5533" style="stop-color:#2D2F30"/>
- <stop offset="0.7258" style="stop-color:#141516"/>
- <stop offset="0.8799" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<polygon fill="url(#SVGID_9_)" points="69.166,44.167 71.334,49 81.5,38.833 81.5,33.5 "/>
-<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="71.334" y1="49" x2="71.334" y2="49">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.1726" style="stop-color:#7B8183"/>
- <stop offset="0.3672" style="stop-color:#4F5355"/>
- <stop offset="0.5533" style="stop-color:#2D2F30"/>
- <stop offset="0.7258" style="stop-color:#141516"/>
- <stop offset="0.8799" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<path fill="url(#SVGID_10_)" d="M71.334,49"/>
-</svg>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
+ y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
+<polyline fill="#EED6FF" points="22.889,27.984 4.625,41.375 4.75,65.688 5.765,67.223 6.865,67.988 7.794,68.883 17.375,70
+ 14.125,75.125 43.5,80.375 47.5,73.75 63.099,75.018 72.485,74.635 73.501,73.954 74.261,73.612 82.125,63.132 82.125,61.726
+ 82.125,33.225 81.618,32.202 80.857,31.436 79.842,31.052 59.249,30.315 59,30.125 59.5,23.375 58.625,23.367 29.125,22.875
+ 28.724,28.112 "/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.6255" y1="53.1055" x2="72.8606" y2="19.8405">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.2537" style="stop-color:#A6AEB0"/>
+ <stop offset="0.4063" style="stop-color:#9EA5A8"/>
+ <stop offset="0.5322" style="stop-color:#90979A"/>
+ <stop offset="0.6435" style="stop-color:#7D8385"/>
+ <stop offset="0.7453" style="stop-color:#65696B"/>
+ <stop offset="0.84" style="stop-color:#464A4B"/>
+ <stop offset="0.9275" style="stop-color:#232525"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1_)" points="20.833,30.833 10.5,38.5 12.167,40.167 69.166,44.167 81.501,33.667 79.5,31.833
+ 28.167,28.833 24.5,28.833 22.167,29.5 "/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.1665" y1="44.167" x2="71.334" y2="44.167">
+ <stop offset="0.0909" style="stop-color:#000000"/>
+ <stop offset="0.3465" style="stop-color:#020202"/>
+ <stop offset="0.4804" style="stop-color:#0A0A0A"/>
+ <stop offset="0.5862" style="stop-color:#181818"/>
+ <stop offset="0.6771" style="stop-color:#2B2B2B"/>
+ <stop offset="0.7586" style="stop-color:#444444"/>
+ <stop offset="0.8334" style="stop-color:#626262"/>
+ <stop offset="0.9029" style="stop-color:#868686"/>
+ <stop offset="0.9666" style="stop-color:#AFAFAF"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+ <stop offset="1" style="stop-color:#FFFCFF"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" points="5.167,42.167 7.125,43.375 9.158,44.537 11.833,45.167 62.334,49.334 70.167,49.834
+ 71.334,49 69.166,44.167 12.167,40.167 10.5,38.5 "/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="62.166" y1="51.333" x2="81.5" y2="51.333">
+ <stop offset="0" style="stop-color:#9C9C96;stop-opacity:0.56"/>
+ <stop offset="0.2262" style="stop-color:#9E9E98;stop-opacity:0.7507"/>
+ <stop offset="0.3077" style="stop-color:#A5A59F;stop-opacity:0.8194"/>
+ <stop offset="0.3658" style="stop-color:#B0B0AA;stop-opacity:0.8683"/>
+ <stop offset="0.4128" style="stop-color:#C1C1BB;stop-opacity:0.9079"/>
+ <stop offset="0.453" style="stop-color:#D7D7D1;stop-opacity:0.9418"/>
+ <stop offset="0.488" style="stop-color:#F1F1EC;stop-opacity:0.9713"/>
+ <stop offset="0.503" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.6882" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.7549" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.8025" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.841" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.8739" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9031" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9295" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9537" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9763" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9963" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#141415"/>
+ <stop offset="1" style="stop-color:#2D2D30"/>
+ <stop offset="1" style="stop-color:#505054"/>
+ <stop offset="1" style="stop-color:#7D7D83"/>
+ <stop offset="1" style="stop-color:#B2B2BC"/>
+ <stop offset="1" style="stop-color:#BDBDC7"/>
+</linearGradient>
+<polyline fill="url(#SVGID_3_)" points="74.001,48.5 74.166,48.5 80.166,41.5 81.5,38.833 81.5,33.5 81.5,38.833 81.5,60.833
+ 74.666,67.666 73.166,69.166 62.166,69.166 62.166,51.167 70.875,51.125 72,50.375 74.166,48.5 80.166,41.5 "/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="5.2915" y1="53.333" x2="13.0005" y2="53.333">
+ <stop offset="0" style="stop-color:#ADADAB;stop-opacity:0.56"/>
+ <stop offset="0.3404" style="stop-color:#AFAFAD;stop-opacity:0.7585"/>
+ <stop offset="0.463" style="stop-color:#B6B6B3;stop-opacity:0.8299"/>
+ <stop offset="0.5504" style="stop-color:#C1C1BF;stop-opacity:0.8809"/>
+ <stop offset="0.621" style="stop-color:#D2D2CF;stop-opacity:0.9221"/>
+ <stop offset="0.6808" style="stop-color:#E8E8E4;stop-opacity:0.9569"/>
+ <stop offset="0.7273" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.8289" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.8655" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.8916" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.9127" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.9308" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9468" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9613" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9746" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.987" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.998" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#F7F7F7"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="5.292,42.167 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 13,45.334 9.283,44.537 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="12.834" y1="48.25" x2="71.75" y2="48.25">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
+ <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
+ <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
+ <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
+ <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#F7F7F7"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="70.5,51.167 62.166,51.167 12.834,47 13,45.334 70.167,49.834 71.25,49.125 71.75,50.625 "/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="5.4995" y1="60.584" x2="81.5" y2="60.584">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.0042" style="stop-color:#C5C5BB;stop-opacity:0.5619"/>
+ <stop offset="0.0499" style="stop-color:#9C9C94;stop-opacity:0.5819"/>
+ <stop offset="0.0998" style="stop-color:#777771;stop-opacity:0.6039"/>
+ <stop offset="0.1556" style="stop-color:#575752;stop-opacity:0.6284"/>
+ <stop offset="0.2171" style="stop-color:#3B3B38;stop-opacity:0.6555"/>
+ <stop offset="0.2867" style="stop-color:#252524;stop-opacity:0.6861"/>
+ <stop offset="0.3679" style="stop-color:#141413;stop-opacity:0.7219"/>
+ <stop offset="0.4683" style="stop-color:#090908;stop-opacity:0.7661"/>
+ <stop offset="0.6091" style="stop-color:#020202;stop-opacity:0.828"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="81.5,60.833 81.167,63.334 73.001,73.334 72.001,74 68.834,74 65.001,74.167 61.834,74.167
+ 10,68.5 8.834,68.334 7.334,67.5 5.834,65.667 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 12.834,47 62.166,51.167
+ 62.166,69.166 70,69.25 71.75,69 72.875,68.625 74,67.875 "/>
+<g>
+ <polygon fill="#FFFFFF" points="16.193,74.057 28.847,57.109 54.479,60.105 42.896,79.108 "/>
+ <path fill="#CCCCCC" d="M29.059,57.602l24.646,2.881L42.666,78.592l-25.655-4.854L29.059,57.602 M28.635,56.616l-13.26,17.759
+ l27.75,5.25l12.129-19.897L28.635,56.616L28.635,56.616z"/>
+</g>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="43.6729" y1="40.2471" x2="44.2277" y2="24.3578" gradientTransform="matrix(0.9873 -0.0177 0.0176 0.985 -0.1104 0.7738)">
+ <stop offset="0.49" style="stop-color:#E0E0DE"/>
+ <stop offset="0.6851" style="stop-color:#DEDEDC"/>
+ <stop offset="0.7553" style="stop-color:#D7D7D5"/>
+ <stop offset="0.8054" style="stop-color:#CBCBCA"/>
+ <stop offset="0.8459" style="stop-color:#BBBBB9"/>
+ <stop offset="0.8806" style="stop-color:#A5A5A3"/>
+ <stop offset="0.9114" style="stop-color:#898988"/>
+ <stop offset="0.9392" style="stop-color:#696968"/>
+ <stop offset="0.9647" style="stop-color:#434343"/>
+ <stop offset="0.9875" style="stop-color:#1A1A1A"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606;stop-opacity:0.9437"/>
+ <stop offset="1" style="stop-color:#151515;stop-opacity:0.8718"/>
+ <stop offset="1" style="stop-color:#303030;stop-opacity:0.7914"/>
+ <stop offset="1" style="stop-color:#545454;stop-opacity:0.7049"/>
+ <stop offset="1" style="stop-color:#838383;stop-opacity:0.6134"/>
+ <stop offset="1" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
+ <stop offset="1" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
+</linearGradient>
+<polygon fill="url(#SVGID_7_)" stroke="#FFFFFF" stroke-width="0.7398" points="29.968,23.748 29.229,38.253 57.516,39.879
+ 58.485,24.731 57.745,24.744 "/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="25.834" y1="41.75" x2="57.5" y2="41.75">
+ <stop offset="0" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
+ <stop offset="0" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
+ <stop offset="0" style="stop-color:#838383;stop-opacity:0.6134"/>
+ <stop offset="0" style="stop-color:#545454;stop-opacity:0.7049"/>
+ <stop offset="0" style="stop-color:#303030;stop-opacity:0.7914"/>
+ <stop offset="0" style="stop-color:#151515;stop-opacity:0.8718"/>
+ <stop offset="0" style="stop-color:#060606;stop-opacity:0.9437"/>
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="0.0125" style="stop-color:#1A1A1A"/>
+ <stop offset="0.0353" style="stop-color:#434343"/>
+ <stop offset="0.0608" style="stop-color:#696968"/>
+ <stop offset="0.0886" style="stop-color:#898988"/>
+ <stop offset="0.1194" style="stop-color:#A5A5A3"/>
+ <stop offset="0.1541" style="stop-color:#BBBBB9"/>
+ <stop offset="0.1946" style="stop-color:#CBCBCA"/>
+ <stop offset="0.2447" style="stop-color:#D7D7D5"/>
+ <stop offset="0.3149" style="stop-color:#DEDEDC"/>
+ <stop offset="0.51" style="stop-color:#E0E0DE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_8_)" stroke="#666666" stroke-width="0.5" points="25.834,42.667 29.167,38.833 57.5,40.375
+ 54.667,44.667 "/>
+<polygon fill="#FFFFFF" points="36.375,29.375 36,29.375 35.667,34.875 49.834,35.708 50,29.875 "/>
+<polygon points="23.75,29.375 6.5,42.75 5.375,41.75 22.167,29.5 22.875,29 23.625,28.875 "/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="69.2783" y1="45.7109" x2="83.5552" y2="36.7898">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.1726" style="stop-color:#7B8183"/>
+ <stop offset="0.3672" style="stop-color:#4F5355"/>
+ <stop offset="0.5533" style="stop-color:#2D2F30"/>
+ <stop offset="0.7258" style="stop-color:#141516"/>
+ <stop offset="0.8799" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_9_)" points="69.166,44.167 71.334,49 81.5,38.833 81.5,33.5 "/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="71.334" y1="49" x2="71.334" y2="49">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.1726" style="stop-color:#7B8183"/>
+ <stop offset="0.3672" style="stop-color:#4F5355"/>
+ <stop offset="0.5533" style="stop-color:#2D2F30"/>
+ <stop offset="0.7258" style="stop-color:#141516"/>
+ <stop offset="0.8799" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" d="M71.334,49"/>
+</svg>
--- a/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp_org.svg Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp_org.svg Tue May 11 14:10:02 2010 +0800
@@ -1,89 +1,89 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
- y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
-<g>
- <g>
- <rect y="0" fill="none" stroke="#FF0000" width="86" height="86"/>
- </g>
-</g>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="77.3838" y1="-338.5713" x2="128.4909" y2="-399.4785" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
- <stop offset="0" style="stop-color:#B3DDFF"/>
- <stop offset="0.8146" style="stop-color:#084296"/>
- <stop offset="1" style="stop-color:#084296"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M-159.595,26.247l-17.368,9.789v22.641c0,0,8.723,15.002,10.23,17.592
- c-2.332,1.665-15.089,10.779-15.089,10.779l21.122,12.364c0,0,12.614-9.626,14.376-10.971c1.934,1.084,15.861,8.895,15.861,8.895
- l16.285-14.788c0,0-13.746-6.771-16.504-8.129c1.434-2.942,10.291-21.113,10.291-21.113l-21.791-9.372c0,0-1.451,3.102-2.045,4.365
- c-2-0.859-6.424-2.762-6.424-2.762s-3.628,2.407-5.566,3.692c-0.32-0.728-0.53-1.205-0.642-1.461
- c0.007-0.806,0.208-23.181,0.208-23.181L-159.595,26.247z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="178.5576" y1="-312.0112" x2="153.9297" y2="-280.9551" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
- <stop offset="0" style="stop-color:#5AA7E0"/>
- <stop offset="1" style="stop-color:#3366CC"/>
-</linearGradient>
-<polygon fill="url(#SVGID_2_)" points="-62.291,16.313 -52.045,-4.709 -70.214,-12.523 -72.258,-8.159 -79.45,-11.25 -86.07,-6.859
- -87.816,-10.829 -87.636,-31.051 -104.009,-21.821 -104.009,-0.85 -93.148,17.824 -107.233,27.885 -89.845,38.064 -75.489,27.109
- -59.734,35.942 -46.617,24.032 "/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="171.71" y1="-361.2764" x2="164.9832" y2="-374.5129" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
- <stop offset="0" style="stop-color:#5AA7E0"/>
- <stop offset="1" style="stop-color:#3366CC"/>
-</linearGradient>
-<polygon fill="url(#SVGID_3_)" points="-105.678,75.675 -96.214,55.477 -78.045,63.291 -88.291,84.313 "/>
-<polygon fill="#0046B7" points="-94.009,58.15 -83.148,76.824 -69.678,66.675 -77.816,48.171 "/>
-<polygon fill="#3366CC" points="-109.009,69.15 -109.009,48.179 -92.636,38.949 -92.816,59.171 "/>
-<polygon fill="#CFECFF" points="-86.911,42.339 -72.45,32.75 -54.83,40.324 -68.489,50.865 "/>
-<path fill="#5AA7E0" stroke="#FF0000" d="M41,54.029"/>
-<polygon fill="#3366CC" points="-107.911,50.339 -107.148,69.824 -89.489,79.109 -89.489,58.865 "/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="163.8691" y1="-396.1548" x2="183.3704" y2="-388.6689" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
- <stop offset="0" style="stop-color:#5AA7E0"/>
- <stop offset="0.0056" style="stop-color:#5AA7E0"/>
- <stop offset="0.85" style="stop-color:#3366CC"/>
- <stop offset="1" style="stop-color:#3366CC"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="-80.564,76.904 -96.148,88.824 -78.489,98.109 -78.489,77.865 "/>
-<polygon fill="#0046B7" points="-94.489,64.865 -94.489,85.109 -81.291,74.313 -80.83,54.324 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="188.2412" y1="-377.6636" x2="201.8975" y2="-377.6636" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
- <stop offset="0" style="stop-color:#0046B7"/>
- <stop offset="1" style="stop-color:#3366CC"/>
-</linearGradient>
-<polygon fill="url(#SVGID_5_)" points="-70.638,66.224 -70.489,84.109 -57.291,73.313 "/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="191.4629" y1="-406.2676" x2="187.8638" y2="-396.3791" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
- <stop offset="0" style="stop-color:#5AA7E0"/>
- <stop offset="0.4101" style="stop-color:#5AA7E0"/>
- <stop offset="1" style="stop-color:#3366CC"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="-66.734,111.942 -82.489,103.109 -69.291,92.313 -53.617,100.032 "/>
-<image overflow="visible" width="99" height="61" xlink:href="79E366C1.jpg" transform="matrix(0.7739 0 0 0.8457 3.167 21.4995)">
-</image>
-<line fill="none" stroke="#FF0000" x1="21.833" y1="26.167" x2="4.166" y2="39.167"/>
-<line fill="none" stroke="#FF0000" x1="22.166" y1="26.167" x2="79.166" y2="29.833"/>
-<line fill="none" stroke="#FF0000" x1="8.166" y1="35.5" x2="69.833" y2="39.833"/>
-<line fill="none" stroke="#FF0000" x1="77.499" y1="29.833" x2="69.833" y2="39.167"/>
-<line fill="none" stroke="#FF0000" x1="80.166" y1="29.833" x2="83.166" y2="32.833"/>
-<line fill="none" stroke="#FF0000" x1="83.166" y1="32.833" x2="74.166" y2="44.833"/>
-<line fill="none" stroke="#FF0000" x1="73.833" y1="44.833" x2="3.833" y2="39.167"/>
-<line fill="none" stroke="#FF0000" x1="30.5" y1="22.833" x2="25.833" y2="35.833"/>
-<line fill="none" stroke="#FF0000" x1="30.833" y1="22.833" x2="58.166" y2="24.833"/>
-<line fill="none" stroke="#FF0000" x1="58.499" y1="24.5" x2="53.833" y2="37.833"/>
-<line fill="none" stroke="#FF0000" x1="53.499" y1="37.5" x2="24.5" y2="35.833"/>
-<line fill="none" stroke="#FF0000" x1="4.166" y1="38.833" x2="4.5" y2="59.5"/>
-<line fill="none" stroke="#FF0000" x1="4.833" y1="59.5" x2="11.166" y2="61.167"/>
-<line fill="none" stroke="#FF0000" x1="12.833" y1="42.5" x2="12.833" y2="60.5"/>
-<line fill="none" stroke="#FF0000" x1="13.166" y1="42.833" x2="62.166" y2="47.833"/>
-<line fill="none" stroke="#FF0000" x1="61.833" y1="47.167" x2="61.833" y2="64.833"/>
-<line fill="none" stroke="#FF0000" x1="62.166" y1="65.833" x2="73.833" y2="66.167"/>
-<line fill="none" stroke="#FF0000" stroke-width="2.1812" x1="74.166" y1="66.167" x2="83.833" y2="52.167"/>
-<line fill="none" stroke="#FF0000" stroke-width="1.5904" x1="83.167" y1="56.834" x2="73.166" y2="71.167"/>
-<line fill="none" stroke="#FF0000" x1="73.166" y1="71.5" x2="7.166" y2="65.167"/>
-<line fill="none" stroke="#FF0000" x1="4.5" y1="58.833" x2="7.5" y2="64.833"/>
-<line fill="none" stroke="#FF0000" x1="11.833" y1="60.833" x2="61.499" y2="65.833"/>
-<line fill="none" stroke="#FF0000" x1="24.833" y1="52.833" x2="7.5" y2="67.833"/>
-<line fill="none" stroke="#FF0000" x1="24.5" y1="53.167" x2="56.499" y2="56.5"/>
-<line fill="none" stroke="#FF0000" x1="56.499" y1="56.167" x2="42.5" y2="72.167"/>
-<line fill="none" stroke="#FF0000" x1="8.5" y1="68.167" x2="41.833" y2="72.167"/>
-<line fill="none" stroke="#FF0000" x1="83.499" y1="33.167" x2="83.166" y2="57.833"/>
-<path fill="none" stroke="#FF0000" d="M-33.159,34.084c-0.408,2.751-2.008,4.082-5.008,7.749c-2.596,3.173-4.594,6.777-6.89,10.201
- c8.002,0.428,23.514,0.468,31.557,0.466c2.141,0-1.263,0.412,0.517-0.532c1.139-0.604,3.694-4.268,4.776-5.299
- c2.897-2.759,4.751-6.604,6.815-9.958c-5.925,0.212-10.649-0.661-16.44-1.878c-3.856-0.811-11.589-2.165-15.325-0.082"/>
-</svg>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
+ y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
+<g>
+ <g>
+ <rect y="0" fill="none" stroke="#FF0000" width="86" height="86"/>
+ </g>
+</g>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="77.3838" y1="-338.5713" x2="128.4909" y2="-399.4785" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
+ <stop offset="0" style="stop-color:#B3DDFF"/>
+ <stop offset="0.8146" style="stop-color:#084296"/>
+ <stop offset="1" style="stop-color:#084296"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M-159.595,26.247l-17.368,9.789v22.641c0,0,8.723,15.002,10.23,17.592
+ c-2.332,1.665-15.089,10.779-15.089,10.779l21.122,12.364c0,0,12.614-9.626,14.376-10.971c1.934,1.084,15.861,8.895,15.861,8.895
+ l16.285-14.788c0,0-13.746-6.771-16.504-8.129c1.434-2.942,10.291-21.113,10.291-21.113l-21.791-9.372c0,0-1.451,3.102-2.045,4.365
+ c-2-0.859-6.424-2.762-6.424-2.762s-3.628,2.407-5.566,3.692c-0.32-0.728-0.53-1.205-0.642-1.461
+ c0.007-0.806,0.208-23.181,0.208-23.181L-159.595,26.247z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="178.5576" y1="-312.0112" x2="153.9297" y2="-280.9551" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
+ <stop offset="0" style="stop-color:#5AA7E0"/>
+ <stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" points="-62.291,16.313 -52.045,-4.709 -70.214,-12.523 -72.258,-8.159 -79.45,-11.25 -86.07,-6.859
+ -87.816,-10.829 -87.636,-31.051 -104.009,-21.821 -104.009,-0.85 -93.148,17.824 -107.233,27.885 -89.845,38.064 -75.489,27.109
+ -59.734,35.942 -46.617,24.032 "/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="171.71" y1="-361.2764" x2="164.9832" y2="-374.5129" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
+ <stop offset="0" style="stop-color:#5AA7E0"/>
+ <stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#SVGID_3_)" points="-105.678,75.675 -96.214,55.477 -78.045,63.291 -88.291,84.313 "/>
+<polygon fill="#0046B7" points="-94.009,58.15 -83.148,76.824 -69.678,66.675 -77.816,48.171 "/>
+<polygon fill="#3366CC" points="-109.009,69.15 -109.009,48.179 -92.636,38.949 -92.816,59.171 "/>
+<polygon fill="#CFECFF" points="-86.911,42.339 -72.45,32.75 -54.83,40.324 -68.489,50.865 "/>
+<path fill="#5AA7E0" stroke="#FF0000" d="M41,54.029"/>
+<polygon fill="#3366CC" points="-107.911,50.339 -107.148,69.824 -89.489,79.109 -89.489,58.865 "/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="163.8691" y1="-396.1548" x2="183.3704" y2="-388.6689" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
+ <stop offset="0" style="stop-color:#5AA7E0"/>
+ <stop offset="0.0056" style="stop-color:#5AA7E0"/>
+ <stop offset="0.85" style="stop-color:#3366CC"/>
+ <stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="-80.564,76.904 -96.148,88.824 -78.489,98.109 -78.489,77.865 "/>
+<polygon fill="#0046B7" points="-94.489,64.865 -94.489,85.109 -81.291,74.313 -80.83,54.324 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="188.2412" y1="-377.6636" x2="201.8975" y2="-377.6636" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
+ <stop offset="0" style="stop-color:#0046B7"/>
+ <stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="-70.638,66.224 -70.489,84.109 -57.291,73.313 "/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="191.4629" y1="-406.2676" x2="187.8638" y2="-396.3791" gradientTransform="matrix(0.9773 0 0 -0.9773 -254.6002 -293.9144)">
+ <stop offset="0" style="stop-color:#5AA7E0"/>
+ <stop offset="0.4101" style="stop-color:#5AA7E0"/>
+ <stop offset="1" style="stop-color:#3366CC"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="-66.734,111.942 -82.489,103.109 -69.291,92.313 -53.617,100.032 "/>
+<image overflow="visible" width="99" height="61" xlink:href="79E366C1.jpg" transform="matrix(0.7739 0 0 0.8457 3.167 21.4995)">
+</image>
+<line fill="none" stroke="#FF0000" x1="21.833" y1="26.167" x2="4.166" y2="39.167"/>
+<line fill="none" stroke="#FF0000" x1="22.166" y1="26.167" x2="79.166" y2="29.833"/>
+<line fill="none" stroke="#FF0000" x1="8.166" y1="35.5" x2="69.833" y2="39.833"/>
+<line fill="none" stroke="#FF0000" x1="77.499" y1="29.833" x2="69.833" y2="39.167"/>
+<line fill="none" stroke="#FF0000" x1="80.166" y1="29.833" x2="83.166" y2="32.833"/>
+<line fill="none" stroke="#FF0000" x1="83.166" y1="32.833" x2="74.166" y2="44.833"/>
+<line fill="none" stroke="#FF0000" x1="73.833" y1="44.833" x2="3.833" y2="39.167"/>
+<line fill="none" stroke="#FF0000" x1="30.5" y1="22.833" x2="25.833" y2="35.833"/>
+<line fill="none" stroke="#FF0000" x1="30.833" y1="22.833" x2="58.166" y2="24.833"/>
+<line fill="none" stroke="#FF0000" x1="58.499" y1="24.5" x2="53.833" y2="37.833"/>
+<line fill="none" stroke="#FF0000" x1="53.499" y1="37.5" x2="24.5" y2="35.833"/>
+<line fill="none" stroke="#FF0000" x1="4.166" y1="38.833" x2="4.5" y2="59.5"/>
+<line fill="none" stroke="#FF0000" x1="4.833" y1="59.5" x2="11.166" y2="61.167"/>
+<line fill="none" stroke="#FF0000" x1="12.833" y1="42.5" x2="12.833" y2="60.5"/>
+<line fill="none" stroke="#FF0000" x1="13.166" y1="42.833" x2="62.166" y2="47.833"/>
+<line fill="none" stroke="#FF0000" x1="61.833" y1="47.167" x2="61.833" y2="64.833"/>
+<line fill="none" stroke="#FF0000" x1="62.166" y1="65.833" x2="73.833" y2="66.167"/>
+<line fill="none" stroke="#FF0000" stroke-width="2.1812" x1="74.166" y1="66.167" x2="83.833" y2="52.167"/>
+<line fill="none" stroke="#FF0000" stroke-width="1.5904" x1="83.167" y1="56.834" x2="73.166" y2="71.167"/>
+<line fill="none" stroke="#FF0000" x1="73.166" y1="71.5" x2="7.166" y2="65.167"/>
+<line fill="none" stroke="#FF0000" x1="4.5" y1="58.833" x2="7.5" y2="64.833"/>
+<line fill="none" stroke="#FF0000" x1="11.833" y1="60.833" x2="61.499" y2="65.833"/>
+<line fill="none" stroke="#FF0000" x1="24.833" y1="52.833" x2="7.5" y2="67.833"/>
+<line fill="none" stroke="#FF0000" x1="24.5" y1="53.167" x2="56.499" y2="56.5"/>
+<line fill="none" stroke="#FF0000" x1="56.499" y1="56.167" x2="42.5" y2="72.167"/>
+<line fill="none" stroke="#FF0000" x1="8.5" y1="68.167" x2="41.833" y2="72.167"/>
+<line fill="none" stroke="#FF0000" x1="83.499" y1="33.167" x2="83.166" y2="57.833"/>
+<path fill="none" stroke="#FF0000" d="M-33.159,34.084c-0.408,2.751-2.008,4.082-5.008,7.749c-2.596,3.173-4.594,6.777-6.89,10.201
+ c8.002,0.428,23.514,0.468,31.557,0.466c2.141,0-1.263,0.412,0.517-0.532c1.139-0.604,3.694-4.268,4.776-5.299
+ c2.897-2.759,4.751-6.604,6.815-9.958c-5.925,0.212-10.649-0.661-16.44-1.878c-3.856-0.811-11.589-2.165-15.325-0.082"/>
+</svg>
--- a/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp_pink.svg Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp_pink.svg Tue May 11 14:10:02 2010 +0800
@@ -1,231 +1,231 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
- y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
-<polyline fill="#EED6FF" points="22.889,27.984 4.625,41.375 4.75,65.688 5.765,67.223 6.865,67.988 7.794,68.883 17.375,70
- 14.125,75.125 43.5,80.375 47.5,73.75 63.099,75.018 72.485,74.635 73.501,73.954 74.261,73.612 82.125,63.132 82.125,61.726
- 82.125,33.225 81.618,32.202 80.857,31.436 79.842,31.052 59.249,30.315 59,30.125 59.5,23.375 58.625,23.367 29.125,22.875
- 28.724,28.112 "/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.6255" y1="53.1055" x2="72.8606" y2="19.8405">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.2537" style="stop-color:#A6AEB0"/>
- <stop offset="0.4063" style="stop-color:#9EA5A8"/>
- <stop offset="0.5322" style="stop-color:#90979A"/>
- <stop offset="0.6435" style="stop-color:#7D8385"/>
- <stop offset="0.7453" style="stop-color:#65696B"/>
- <stop offset="0.84" style="stop-color:#464A4B"/>
- <stop offset="0.9275" style="stop-color:#232525"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1_)" points="20.833,30.833 10.5,38.5 12.167,40.167 69.166,44.167 81.501,33.667 79.5,31.833
- 28.167,28.833 24.5,28.833 22.167,29.5 "/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.1665" y1="44.167" x2="71.334" y2="44.167">
- <stop offset="0.0909" style="stop-color:#000000"/>
- <stop offset="0.3465" style="stop-color:#020202"/>
- <stop offset="0.4804" style="stop-color:#0A0A0A"/>
- <stop offset="0.5862" style="stop-color:#181818"/>
- <stop offset="0.6771" style="stop-color:#2B2B2B"/>
- <stop offset="0.7586" style="stop-color:#444444"/>
- <stop offset="0.8334" style="stop-color:#626262"/>
- <stop offset="0.9029" style="stop-color:#868686"/>
- <stop offset="0.9666" style="stop-color:#AFAFAF"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
- <stop offset="1" style="stop-color:#FFFCFF"/>
-</linearGradient>
-<polygon fill="url(#SVGID_2_)" points="5.167,42.167 7.125,43.375 9.158,44.537 11.833,45.167 62.334,49.334 70.167,49.834
- 71.334,49 69.166,44.167 12.167,40.167 10.5,38.5 "/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="62.166" y1="51.333" x2="81.5" y2="51.333">
- <stop offset="0" style="stop-color:#9C9C96;stop-opacity:0.56"/>
- <stop offset="0.2262" style="stop-color:#9E9E98;stop-opacity:0.7507"/>
- <stop offset="0.3077" style="stop-color:#A5A59F;stop-opacity:0.8194"/>
- <stop offset="0.3658" style="stop-color:#B0B0AA;stop-opacity:0.8683"/>
- <stop offset="0.4128" style="stop-color:#C1C1BB;stop-opacity:0.9079"/>
- <stop offset="0.453" style="stop-color:#D7D7D1;stop-opacity:0.9418"/>
- <stop offset="0.488" style="stop-color:#F1F1EC;stop-opacity:0.9713"/>
- <stop offset="0.503" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.6882" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.7549" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.8025" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.841" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.8739" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9031" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9295" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9537" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9763" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9963" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#141415"/>
- <stop offset="1" style="stop-color:#2D2D30"/>
- <stop offset="1" style="stop-color:#505054"/>
- <stop offset="1" style="stop-color:#7D7D83"/>
- <stop offset="1" style="stop-color:#B2B2BC"/>
- <stop offset="1" style="stop-color:#BDBDC7"/>
-</linearGradient>
-<polyline fill="url(#SVGID_3_)" points="74.001,48.5 74.166,48.5 80.166,41.5 81.5,38.833 81.5,33.5 81.5,38.833 81.5,60.833
- 74.666,67.666 73.166,69.166 62.166,69.166 62.166,51.167 70.875,51.125 72,50.375 74.166,48.5 80.166,41.5 "/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="5.2915" y1="53.333" x2="13.0005" y2="53.333">
- <stop offset="0" style="stop-color:#ADADAB;stop-opacity:0.56"/>
- <stop offset="0.3404" style="stop-color:#AFAFAD;stop-opacity:0.7585"/>
- <stop offset="0.463" style="stop-color:#B6B6B3;stop-opacity:0.8299"/>
- <stop offset="0.5504" style="stop-color:#C1C1BF;stop-opacity:0.8809"/>
- <stop offset="0.621" style="stop-color:#D2D2CF;stop-opacity:0.9221"/>
- <stop offset="0.6808" style="stop-color:#E8E8E4;stop-opacity:0.9569"/>
- <stop offset="0.7273" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.8289" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.8655" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.8916" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.9127" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.9308" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9468" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9613" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9746" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.987" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.998" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#F7F7F7"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="5.292,42.167 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 13,45.334 9.283,44.537 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="12.834" y1="48.25" x2="71.75" y2="48.25">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
- <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
- <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
- <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
- <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#F7F7F7"/>
-</linearGradient>
-<polygon fill="url(#SVGID_5_)" points="70.5,51.167 62.166,51.167 12.834,47 13,45.334 70.167,49.834 71.25,49.125 71.75,50.625 "/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="5.4995" y1="60.584" x2="81.5" y2="60.584">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.0042" style="stop-color:#C5C5BB;stop-opacity:0.5619"/>
- <stop offset="0.0499" style="stop-color:#9C9C94;stop-opacity:0.5819"/>
- <stop offset="0.0998" style="stop-color:#777771;stop-opacity:0.6039"/>
- <stop offset="0.1556" style="stop-color:#575752;stop-opacity:0.6284"/>
- <stop offset="0.2171" style="stop-color:#3B3B38;stop-opacity:0.6555"/>
- <stop offset="0.2867" style="stop-color:#252524;stop-opacity:0.6861"/>
- <stop offset="0.3679" style="stop-color:#141413;stop-opacity:0.7219"/>
- <stop offset="0.4683" style="stop-color:#090908;stop-opacity:0.7661"/>
- <stop offset="0.6091" style="stop-color:#020202;stop-opacity:0.828"/>
- <stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="81.5,60.833 81.167,63.334 73.001,73.334 72.001,74 68.834,74 65.001,74.167 61.834,74.167
- 10,68.5 8.834,68.334 7.334,67.5 5.834,65.667 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 12.834,47 62.166,51.167
- 62.166,69.166 70,69.25 71.75,69 72.875,68.625 74,67.875 "/>
-<g>
- <polygon fill="#FFFFFF" points="16.193,74.057 28.847,57.109 54.479,60.105 42.896,79.108 "/>
- <path fill="#CCCCCC" d="M29.059,57.602l24.646,2.881L42.666,78.592l-25.655-4.854L29.059,57.602 M28.635,56.616l-13.26,17.759
- l27.75,5.25l12.129-19.897L28.635,56.616L28.635,56.616z"/>
-</g>
-<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="43.6729" y1="40.2471" x2="44.2277" y2="24.3578" gradientTransform="matrix(0.9873 -0.0177 0.0176 0.985 -0.1104 0.7738)">
- <stop offset="0.49" style="stop-color:#E0E0DE"/>
- <stop offset="0.6851" style="stop-color:#DEDEDC"/>
- <stop offset="0.7553" style="stop-color:#D7D7D5"/>
- <stop offset="0.8054" style="stop-color:#CBCBCA"/>
- <stop offset="0.8459" style="stop-color:#BBBBB9"/>
- <stop offset="0.8806" style="stop-color:#A5A5A3"/>
- <stop offset="0.9114" style="stop-color:#898988"/>
- <stop offset="0.9392" style="stop-color:#696968"/>
- <stop offset="0.9647" style="stop-color:#434343"/>
- <stop offset="0.9875" style="stop-color:#1A1A1A"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606;stop-opacity:0.9437"/>
- <stop offset="1" style="stop-color:#151515;stop-opacity:0.8718"/>
- <stop offset="1" style="stop-color:#303030;stop-opacity:0.7914"/>
- <stop offset="1" style="stop-color:#545454;stop-opacity:0.7049"/>
- <stop offset="1" style="stop-color:#838383;stop-opacity:0.6134"/>
- <stop offset="1" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
- <stop offset="1" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
-</linearGradient>
-<polygon fill="url(#SVGID_7_)" stroke="#FFFFFF" stroke-width="0.7398" points="29.968,23.748 29.229,38.253 57.516,39.879
- 58.485,24.731 57.745,24.744 "/>
-<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="25.834" y1="41.75" x2="57.5" y2="41.75">
- <stop offset="0" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
- <stop offset="0" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
- <stop offset="0" style="stop-color:#838383;stop-opacity:0.6134"/>
- <stop offset="0" style="stop-color:#545454;stop-opacity:0.7049"/>
- <stop offset="0" style="stop-color:#303030;stop-opacity:0.7914"/>
- <stop offset="0" style="stop-color:#151515;stop-opacity:0.8718"/>
- <stop offset="0" style="stop-color:#060606;stop-opacity:0.9437"/>
- <stop offset="0" style="stop-color:#000000"/>
- <stop offset="0.0125" style="stop-color:#1A1A1A"/>
- <stop offset="0.0353" style="stop-color:#434343"/>
- <stop offset="0.0608" style="stop-color:#696968"/>
- <stop offset="0.0886" style="stop-color:#898988"/>
- <stop offset="0.1194" style="stop-color:#A5A5A3"/>
- <stop offset="0.1541" style="stop-color:#BBBBB9"/>
- <stop offset="0.1946" style="stop-color:#CBCBCA"/>
- <stop offset="0.2447" style="stop-color:#D7D7D5"/>
- <stop offset="0.3149" style="stop-color:#DEDEDC"/>
- <stop offset="0.51" style="stop-color:#E0E0DE"/>
-</linearGradient>
-<polygon fill="url(#SVGID_8_)" stroke="#666666" stroke-width="0.5" points="25.834,42.667 29.167,38.833 57.5,40.375
- 54.667,44.667 "/>
-<polygon fill="#FFFFFF" points="36.375,29.375 36,29.375 35.667,34.875 49.834,35.708 50,29.875 "/>
-<polygon points="23.75,29.375 6.5,42.75 5.375,41.75 22.167,29.5 22.875,29 23.625,28.875 "/>
-<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="69.2783" y1="45.7109" x2="83.5552" y2="36.7898">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.1726" style="stop-color:#7B8183"/>
- <stop offset="0.3672" style="stop-color:#4F5355"/>
- <stop offset="0.5533" style="stop-color:#2D2F30"/>
- <stop offset="0.7258" style="stop-color:#141516"/>
- <stop offset="0.8799" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<polygon fill="url(#SVGID_9_)" points="69.166,44.167 71.334,49 81.5,38.833 81.5,33.5 "/>
-<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="71.334" y1="49" x2="71.334" y2="49">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.1726" style="stop-color:#7B8183"/>
- <stop offset="0.3672" style="stop-color:#4F5355"/>
- <stop offset="0.5533" style="stop-color:#2D2F30"/>
- <stop offset="0.7258" style="stop-color:#141516"/>
- <stop offset="0.8799" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<path fill="url(#SVGID_10_)" d="M71.334,49"/>
-</svg>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
+ y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
+<polyline fill="#EED6FF" points="22.889,27.984 4.625,41.375 4.75,65.688 5.765,67.223 6.865,67.988 7.794,68.883 17.375,70
+ 14.125,75.125 43.5,80.375 47.5,73.75 63.099,75.018 72.485,74.635 73.501,73.954 74.261,73.612 82.125,63.132 82.125,61.726
+ 82.125,33.225 81.618,32.202 80.857,31.436 79.842,31.052 59.249,30.315 59,30.125 59.5,23.375 58.625,23.367 29.125,22.875
+ 28.724,28.112 "/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.6255" y1="53.1055" x2="72.8606" y2="19.8405">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.2537" style="stop-color:#A6AEB0"/>
+ <stop offset="0.4063" style="stop-color:#9EA5A8"/>
+ <stop offset="0.5322" style="stop-color:#90979A"/>
+ <stop offset="0.6435" style="stop-color:#7D8385"/>
+ <stop offset="0.7453" style="stop-color:#65696B"/>
+ <stop offset="0.84" style="stop-color:#464A4B"/>
+ <stop offset="0.9275" style="stop-color:#232525"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1_)" points="20.833,30.833 10.5,38.5 12.167,40.167 69.166,44.167 81.501,33.667 79.5,31.833
+ 28.167,28.833 24.5,28.833 22.167,29.5 "/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.1665" y1="44.167" x2="71.334" y2="44.167">
+ <stop offset="0.0909" style="stop-color:#000000"/>
+ <stop offset="0.3465" style="stop-color:#020202"/>
+ <stop offset="0.4804" style="stop-color:#0A0A0A"/>
+ <stop offset="0.5862" style="stop-color:#181818"/>
+ <stop offset="0.6771" style="stop-color:#2B2B2B"/>
+ <stop offset="0.7586" style="stop-color:#444444"/>
+ <stop offset="0.8334" style="stop-color:#626262"/>
+ <stop offset="0.9029" style="stop-color:#868686"/>
+ <stop offset="0.9666" style="stop-color:#AFAFAF"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+ <stop offset="1" style="stop-color:#FFFCFF"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" points="5.167,42.167 7.125,43.375 9.158,44.537 11.833,45.167 62.334,49.334 70.167,49.834
+ 71.334,49 69.166,44.167 12.167,40.167 10.5,38.5 "/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="62.166" y1="51.333" x2="81.5" y2="51.333">
+ <stop offset="0" style="stop-color:#9C9C96;stop-opacity:0.56"/>
+ <stop offset="0.2262" style="stop-color:#9E9E98;stop-opacity:0.7507"/>
+ <stop offset="0.3077" style="stop-color:#A5A59F;stop-opacity:0.8194"/>
+ <stop offset="0.3658" style="stop-color:#B0B0AA;stop-opacity:0.8683"/>
+ <stop offset="0.4128" style="stop-color:#C1C1BB;stop-opacity:0.9079"/>
+ <stop offset="0.453" style="stop-color:#D7D7D1;stop-opacity:0.9418"/>
+ <stop offset="0.488" style="stop-color:#F1F1EC;stop-opacity:0.9713"/>
+ <stop offset="0.503" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.6882" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.7549" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.8025" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.841" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.8739" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9031" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9295" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9537" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9763" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9963" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#141415"/>
+ <stop offset="1" style="stop-color:#2D2D30"/>
+ <stop offset="1" style="stop-color:#505054"/>
+ <stop offset="1" style="stop-color:#7D7D83"/>
+ <stop offset="1" style="stop-color:#B2B2BC"/>
+ <stop offset="1" style="stop-color:#BDBDC7"/>
+</linearGradient>
+<polyline fill="url(#SVGID_3_)" points="74.001,48.5 74.166,48.5 80.166,41.5 81.5,38.833 81.5,33.5 81.5,38.833 81.5,60.833
+ 74.666,67.666 73.166,69.166 62.166,69.166 62.166,51.167 70.875,51.125 72,50.375 74.166,48.5 80.166,41.5 "/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="5.2915" y1="53.333" x2="13.0005" y2="53.333">
+ <stop offset="0" style="stop-color:#ADADAB;stop-opacity:0.56"/>
+ <stop offset="0.3404" style="stop-color:#AFAFAD;stop-opacity:0.7585"/>
+ <stop offset="0.463" style="stop-color:#B6B6B3;stop-opacity:0.8299"/>
+ <stop offset="0.5504" style="stop-color:#C1C1BF;stop-opacity:0.8809"/>
+ <stop offset="0.621" style="stop-color:#D2D2CF;stop-opacity:0.9221"/>
+ <stop offset="0.6808" style="stop-color:#E8E8E4;stop-opacity:0.9569"/>
+ <stop offset="0.7273" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.8289" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.8655" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.8916" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.9127" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.9308" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9468" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9613" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9746" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.987" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.998" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#F7F7F7"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="5.292,42.167 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 13,45.334 9.283,44.537 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="12.834" y1="48.25" x2="71.75" y2="48.25">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
+ <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
+ <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
+ <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
+ <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#F7F7F7"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="70.5,51.167 62.166,51.167 12.834,47 13,45.334 70.167,49.834 71.25,49.125 71.75,50.625 "/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="5.4995" y1="60.584" x2="81.5" y2="60.584">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.0042" style="stop-color:#C5C5BB;stop-opacity:0.5619"/>
+ <stop offset="0.0499" style="stop-color:#9C9C94;stop-opacity:0.5819"/>
+ <stop offset="0.0998" style="stop-color:#777771;stop-opacity:0.6039"/>
+ <stop offset="0.1556" style="stop-color:#575752;stop-opacity:0.6284"/>
+ <stop offset="0.2171" style="stop-color:#3B3B38;stop-opacity:0.6555"/>
+ <stop offset="0.2867" style="stop-color:#252524;stop-opacity:0.6861"/>
+ <stop offset="0.3679" style="stop-color:#141413;stop-opacity:0.7219"/>
+ <stop offset="0.4683" style="stop-color:#090908;stop-opacity:0.7661"/>
+ <stop offset="0.6091" style="stop-color:#020202;stop-opacity:0.828"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="81.5,60.833 81.167,63.334 73.001,73.334 72.001,74 68.834,74 65.001,74.167 61.834,74.167
+ 10,68.5 8.834,68.334 7.334,67.5 5.834,65.667 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 12.834,47 62.166,51.167
+ 62.166,69.166 70,69.25 71.75,69 72.875,68.625 74,67.875 "/>
+<g>
+ <polygon fill="#FFFFFF" points="16.193,74.057 28.847,57.109 54.479,60.105 42.896,79.108 "/>
+ <path fill="#CCCCCC" d="M29.059,57.602l24.646,2.881L42.666,78.592l-25.655-4.854L29.059,57.602 M28.635,56.616l-13.26,17.759
+ l27.75,5.25l12.129-19.897L28.635,56.616L28.635,56.616z"/>
+</g>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="43.6729" y1="40.2471" x2="44.2277" y2="24.3578" gradientTransform="matrix(0.9873 -0.0177 0.0176 0.985 -0.1104 0.7738)">
+ <stop offset="0.49" style="stop-color:#E0E0DE"/>
+ <stop offset="0.6851" style="stop-color:#DEDEDC"/>
+ <stop offset="0.7553" style="stop-color:#D7D7D5"/>
+ <stop offset="0.8054" style="stop-color:#CBCBCA"/>
+ <stop offset="0.8459" style="stop-color:#BBBBB9"/>
+ <stop offset="0.8806" style="stop-color:#A5A5A3"/>
+ <stop offset="0.9114" style="stop-color:#898988"/>
+ <stop offset="0.9392" style="stop-color:#696968"/>
+ <stop offset="0.9647" style="stop-color:#434343"/>
+ <stop offset="0.9875" style="stop-color:#1A1A1A"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606;stop-opacity:0.9437"/>
+ <stop offset="1" style="stop-color:#151515;stop-opacity:0.8718"/>
+ <stop offset="1" style="stop-color:#303030;stop-opacity:0.7914"/>
+ <stop offset="1" style="stop-color:#545454;stop-opacity:0.7049"/>
+ <stop offset="1" style="stop-color:#838383;stop-opacity:0.6134"/>
+ <stop offset="1" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
+ <stop offset="1" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
+</linearGradient>
+<polygon fill="url(#SVGID_7_)" stroke="#FFFFFF" stroke-width="0.7398" points="29.968,23.748 29.229,38.253 57.516,39.879
+ 58.485,24.731 57.745,24.744 "/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="25.834" y1="41.75" x2="57.5" y2="41.75">
+ <stop offset="0" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
+ <stop offset="0" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
+ <stop offset="0" style="stop-color:#838383;stop-opacity:0.6134"/>
+ <stop offset="0" style="stop-color:#545454;stop-opacity:0.7049"/>
+ <stop offset="0" style="stop-color:#303030;stop-opacity:0.7914"/>
+ <stop offset="0" style="stop-color:#151515;stop-opacity:0.8718"/>
+ <stop offset="0" style="stop-color:#060606;stop-opacity:0.9437"/>
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="0.0125" style="stop-color:#1A1A1A"/>
+ <stop offset="0.0353" style="stop-color:#434343"/>
+ <stop offset="0.0608" style="stop-color:#696968"/>
+ <stop offset="0.0886" style="stop-color:#898988"/>
+ <stop offset="0.1194" style="stop-color:#A5A5A3"/>
+ <stop offset="0.1541" style="stop-color:#BBBBB9"/>
+ <stop offset="0.1946" style="stop-color:#CBCBCA"/>
+ <stop offset="0.2447" style="stop-color:#D7D7D5"/>
+ <stop offset="0.3149" style="stop-color:#DEDEDC"/>
+ <stop offset="0.51" style="stop-color:#E0E0DE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_8_)" stroke="#666666" stroke-width="0.5" points="25.834,42.667 29.167,38.833 57.5,40.375
+ 54.667,44.667 "/>
+<polygon fill="#FFFFFF" points="36.375,29.375 36,29.375 35.667,34.875 49.834,35.708 50,29.875 "/>
+<polygon points="23.75,29.375 6.5,42.75 5.375,41.75 22.167,29.5 22.875,29 23.625,28.875 "/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="69.2783" y1="45.7109" x2="83.5552" y2="36.7898">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.1726" style="stop-color:#7B8183"/>
+ <stop offset="0.3672" style="stop-color:#4F5355"/>
+ <stop offset="0.5533" style="stop-color:#2D2F30"/>
+ <stop offset="0.7258" style="stop-color:#141516"/>
+ <stop offset="0.8799" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_9_)" points="69.166,44.167 71.334,49 81.5,38.833 81.5,33.5 "/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="71.334" y1="49" x2="71.334" y2="49">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.1726" style="stop-color:#7B8183"/>
+ <stop offset="0.3672" style="stop-color:#4F5355"/>
+ <stop offset="0.5533" style="stop-color:#2D2F30"/>
+ <stop offset="0.7258" style="stop-color:#141516"/>
+ <stop offset="0.8799" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" d="M71.334,49"/>
+</svg>
--- a/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp_yellow.svg Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/gfx/qgn_menu_directprintapp_yellow.svg Tue May 11 14:10:02 2010 +0800
@@ -1,236 +1,236 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
- y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
-<polyline fill="#FFFFCC" points="23.125,28.375 5.375,41.75 5.25,65.25 6.25,66.75 7.334,67.5 8.25,68.375 17.25,69.375
- 13.625,73.75 42.141,79.134 46.75,72.75 62.75,74.375 72.001,74 73.001,73.334 73.75,73 81.5,62.75 81.5,61.375 81.5,33.5 81,32.5
- 80.25,31.75 79.25,31.375 58.125,30.625 58.729,24.499 29.852,23.5 28.875,28.5 "/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.6255" y1="53.1055" x2="72.8606" y2="19.8405">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.2537" style="stop-color:#A6AEB0"/>
- <stop offset="0.4063" style="stop-color:#9EA5A8"/>
- <stop offset="0.5322" style="stop-color:#90979A"/>
- <stop offset="0.6435" style="stop-color:#7D8385"/>
- <stop offset="0.7453" style="stop-color:#65696B"/>
- <stop offset="0.84" style="stop-color:#464A4B"/>
- <stop offset="0.9275" style="stop-color:#232525"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1_)" points="20.833,30.833 10.5,38.5 12.167,40.167 69.166,44.167 81.501,33.667 79.5,31.833
- 28.167,28.833 24.5,28.833 22.167,29.5 "/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.1665" y1="44.167" x2="71.334" y2="44.167">
- <stop offset="0.0909" style="stop-color:#000000"/>
- <stop offset="0.3465" style="stop-color:#020202"/>
- <stop offset="0.4804" style="stop-color:#0A0A0A"/>
- <stop offset="0.5862" style="stop-color:#181818"/>
- <stop offset="0.6771" style="stop-color:#2B2B2B"/>
- <stop offset="0.7586" style="stop-color:#444444"/>
- <stop offset="0.8334" style="stop-color:#626262"/>
- <stop offset="0.9029" style="stop-color:#868686"/>
- <stop offset="0.9666" style="stop-color:#AFAFAF"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
- <stop offset="1" style="stop-color:#FFFCFF"/>
-</linearGradient>
-<polygon fill="url(#SVGID_2_)" points="5.167,42.167 7.125,43.375 9.158,44.537 11.833,45.167 62.334,49.334 70.167,49.834
- 71.334,49 69.166,44.167 12.167,40.167 10.5,38.5 "/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="62.166" y1="51.333" x2="81.5" y2="51.333">
- <stop offset="0" style="stop-color:#9C9C96;stop-opacity:0.56"/>
- <stop offset="0.2262" style="stop-color:#9E9E98;stop-opacity:0.7507"/>
- <stop offset="0.3077" style="stop-color:#A5A59F;stop-opacity:0.8194"/>
- <stop offset="0.3658" style="stop-color:#B0B0AA;stop-opacity:0.8683"/>
- <stop offset="0.4128" style="stop-color:#C1C1BB;stop-opacity:0.9079"/>
- <stop offset="0.453" style="stop-color:#D7D7D1;stop-opacity:0.9418"/>
- <stop offset="0.488" style="stop-color:#F1F1EC;stop-opacity:0.9713"/>
- <stop offset="0.503" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.6882" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.7549" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.8025" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.841" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.8739" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9031" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9295" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9537" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9763" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9963" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#141415"/>
- <stop offset="1" style="stop-color:#2D2D30"/>
- <stop offset="1" style="stop-color:#505054"/>
- <stop offset="1" style="stop-color:#7D7D83"/>
- <stop offset="1" style="stop-color:#B2B2BC"/>
- <stop offset="1" style="stop-color:#BDBDC7"/>
-</linearGradient>
-<polyline fill="url(#SVGID_3_)" points="74.001,48.5 74.166,48.5 80.166,41.5 81.5,38.833 81.5,33.5 81.5,38.833 81.5,60.833
- 74.666,67.666 73.166,69.166 62.166,69.166 62.166,51.167 70.875,51.125 72,50.375 74.166,48.5 80.166,41.5 "/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="5.2915" y1="53.333" x2="13.0005" y2="53.333">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
- <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
- <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
- <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
- <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#F7F7F7"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="5.292,42.167 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 13,45.334 9.283,44.537 "/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="12.834" y1="48.25" x2="71.75" y2="48.25">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
- <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
- <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
- <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
- <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
- <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
- <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
- <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
- <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
- <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
- <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
- <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
- <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
- <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
- <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#F7F7F7"/>
-</linearGradient>
-<polygon fill="url(#SVGID_5_)" points="70.5,51.167 62.166,51.167 12.834,47 13,45.334 70.167,49.834 71.25,49.125 71.75,50.625 "/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="5.4995" y1="60.584" x2="81.5" y2="60.584">
- <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
- <stop offset="0.0042" style="stop-color:#C5C5BB;stop-opacity:0.5619"/>
- <stop offset="0.0499" style="stop-color:#9C9C94;stop-opacity:0.5819"/>
- <stop offset="0.0998" style="stop-color:#777771;stop-opacity:0.6039"/>
- <stop offset="0.1556" style="stop-color:#575752;stop-opacity:0.6284"/>
- <stop offset="0.2171" style="stop-color:#3B3B38;stop-opacity:0.6555"/>
- <stop offset="0.2867" style="stop-color:#252524;stop-opacity:0.6861"/>
- <stop offset="0.3679" style="stop-color:#141413;stop-opacity:0.7219"/>
- <stop offset="0.4683" style="stop-color:#090908;stop-opacity:0.7661"/>
- <stop offset="0.6091" style="stop-color:#020202;stop-opacity:0.828"/>
- <stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="81.5,60.833 81.167,63.334 73.001,73.334 72.001,74 68.834,74 65.001,74.167 61.834,74.167
- 10,68.5 8.834,68.334 7.334,67.5 5.834,65.667 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 12.834,47 62.166,51.167
- 62.166,69.166 70,69.25 71.75,69 72.875,68.625 74,67.875 "/>
-<g>
- <polygon fill="#FFFFFF" points="14.951,73.339 28.827,57.106 54.441,60.101 41.928,78.618 "/>
- <path fill="#CCCCCC" d="M29.019,57.597l24.609,2.877l-11.913,17.63l-25.893-5.068L29.019,57.597 M28.635,56.616L14.081,73.642
- l28.06,5.492l13.113-19.406L28.635,56.616L28.635,56.616z"/>
-</g>
-<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="43.6719" y1="40.2466" x2="44.2267" y2="24.3573" gradientTransform="matrix(0.9998 -0.0179 0.0179 0.9998 -0.6087 0.1803)">
- <stop offset="0.49" style="stop-color:#E0E0DE"/>
- <stop offset="0.6851" style="stop-color:#DEDEDC"/>
- <stop offset="0.7553" style="stop-color:#D7D7D5"/>
- <stop offset="0.8054" style="stop-color:#CBCBCA"/>
- <stop offset="0.8459" style="stop-color:#BBBBB9"/>
- <stop offset="0.8806" style="stop-color:#A5A5A3"/>
- <stop offset="0.9114" style="stop-color:#898988"/>
- <stop offset="0.9392" style="stop-color:#696968"/>
- <stop offset="0.9647" style="stop-color:#434343"/>
- <stop offset="0.9875" style="stop-color:#1A1A1A"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606;stop-opacity:0.9437"/>
- <stop offset="1" style="stop-color:#151515;stop-opacity:0.8718"/>
- <stop offset="1" style="stop-color:#303030;stop-opacity:0.7914"/>
- <stop offset="1" style="stop-color:#545454;stop-opacity:0.7049"/>
- <stop offset="1" style="stop-color:#838383;stop-opacity:0.6134"/>
- <stop offset="1" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
- <stop offset="1" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
-</linearGradient>
-<polygon fill="url(#SVGID_7_)" stroke="#FFFFFF" stroke-width="0.75" points="29.852,23.5 29.104,38.224 57.748,39.875
- 58.729,24.499 57.979,24.512 "/>
-<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="25.834" y1="41.75" x2="57.5" y2="41.75">
- <stop offset="0" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
- <stop offset="0" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
- <stop offset="0" style="stop-color:#838383;stop-opacity:0.6134"/>
- <stop offset="0" style="stop-color:#545454;stop-opacity:0.7049"/>
- <stop offset="0" style="stop-color:#303030;stop-opacity:0.7914"/>
- <stop offset="0" style="stop-color:#151515;stop-opacity:0.8718"/>
- <stop offset="0" style="stop-color:#060606;stop-opacity:0.9437"/>
- <stop offset="0" style="stop-color:#000000"/>
- <stop offset="0.0125" style="stop-color:#1A1A1A"/>
- <stop offset="0.0353" style="stop-color:#434343"/>
- <stop offset="0.0608" style="stop-color:#696968"/>
- <stop offset="0.0886" style="stop-color:#898988"/>
- <stop offset="0.1194" style="stop-color:#A5A5A3"/>
- <stop offset="0.1541" style="stop-color:#BBBBB9"/>
- <stop offset="0.1946" style="stop-color:#CBCBCA"/>
- <stop offset="0.2447" style="stop-color:#D7D7D5"/>
- <stop offset="0.3149" style="stop-color:#DEDEDC"/>
- <stop offset="0.51" style="stop-color:#E0E0DE"/>
-</linearGradient>
-<polygon fill="url(#SVGID_8_)" stroke="#666666" stroke-width="0.5" points="25.834,42.667 29.167,38.833 57.5,40.375
- 54.667,44.667 "/>
-<polygon fill="#FFFFFF" points="36.375,29.375 36,29.375 35.667,34.875 49.834,35.708 50,29.875 "/>
-<polygon points="23.75,29.375 6.5,42.75 5.375,41.75 22.167,29.5 22.875,29 23.625,28.875 "/>
-<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="69.2783" y1="45.7109" x2="83.5552" y2="36.7898">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.1726" style="stop-color:#7B8183"/>
- <stop offset="0.3672" style="stop-color:#4F5355"/>
- <stop offset="0.5533" style="stop-color:#2D2F30"/>
- <stop offset="0.7258" style="stop-color:#141516"/>
- <stop offset="0.8799" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<polygon fill="url(#SVGID_9_)" points="69.166,44.167 71.334,49 81.5,38.833 81.5,33.5 "/>
-<g>
- <path d="M30.569,60.508c1.881,0.611,3.933,1.166,5.257,1.355l0.652,1.387c-0.071,0.004-0.2-0.045-0.365-0.183
- c-1.438-0.296-3.623-0.968-5.577-1.644l-1.485,2.334l4.729,3.011l-0.5,0.786l-4.729-3.012l-1.934,3.036l4.94,3.146l-0.492,0.773
- l-4.94-3.146l-0.63,0.988l-1.094-0.695l5.595-8.787L30.569,60.508z M43.425,68.324l-4.473,7.024
- c-0.659,1.036-1.451,0.55-3.962-1.05c0.08-0.268,0.118-0.762,0.092-1.079c0.433,0.292,0.856,0.562,1.215,0.79
- c1.387,0.883,1.387,0.883,1.554,0.621l3.964-6.227L37.411,65.6l-5.799,9.108l-1.109-0.705l6.3-9.895L43.425,68.324z"/>
-</g>
-<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="71.334" y1="49" x2="71.334" y2="49">
- <stop offset="0" style="stop-color:#A8B0B3"/>
- <stop offset="0.1726" style="stop-color:#7B8183"/>
- <stop offset="0.3672" style="stop-color:#4F5355"/>
- <stop offset="0.5533" style="stop-color:#2D2F30"/>
- <stop offset="0.7258" style="stop-color:#141516"/>
- <stop offset="0.8799" style="stop-color:#050506"/>
- <stop offset="1" style="stop-color:#000000"/>
- <stop offset="1" style="stop-color:#060606"/>
- <stop offset="1" style="stop-color:#151515"/>
- <stop offset="1" style="stop-color:#303030"/>
- <stop offset="1" style="stop-color:#545454"/>
- <stop offset="1" style="stop-color:#838383"/>
- <stop offset="1" style="stop-color:#BCBCBC"/>
- <stop offset="1" style="stop-color:#C8C8C8"/>
-</linearGradient>
-<path fill="url(#SVGID_10_)" d="M71.334,49"/>
-</svg>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
+ y="0px" width="86px" height="86px" viewBox="0 0 86 86" enable-background="new 0 0 86 86" xml:space="preserve">
+<polyline fill="#FFFFCC" points="23.125,28.375 5.375,41.75 5.25,65.25 6.25,66.75 7.334,67.5 8.25,68.375 17.25,69.375
+ 13.625,73.75 42.141,79.134 46.75,72.75 62.75,74.375 72.001,74 73.001,73.334 73.75,73 81.5,62.75 81.5,61.375 81.5,33.5 81,32.5
+ 80.25,31.75 79.25,31.375 58.125,30.625 58.729,24.499 29.852,23.5 28.875,28.5 "/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.6255" y1="53.1055" x2="72.8606" y2="19.8405">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.2537" style="stop-color:#A6AEB0"/>
+ <stop offset="0.4063" style="stop-color:#9EA5A8"/>
+ <stop offset="0.5322" style="stop-color:#90979A"/>
+ <stop offset="0.6435" style="stop-color:#7D8385"/>
+ <stop offset="0.7453" style="stop-color:#65696B"/>
+ <stop offset="0.84" style="stop-color:#464A4B"/>
+ <stop offset="0.9275" style="stop-color:#232525"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1_)" points="20.833,30.833 10.5,38.5 12.167,40.167 69.166,44.167 81.501,33.667 79.5,31.833
+ 28.167,28.833 24.5,28.833 22.167,29.5 "/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.1665" y1="44.167" x2="71.334" y2="44.167">
+ <stop offset="0.0909" style="stop-color:#000000"/>
+ <stop offset="0.3465" style="stop-color:#020202"/>
+ <stop offset="0.4804" style="stop-color:#0A0A0A"/>
+ <stop offset="0.5862" style="stop-color:#181818"/>
+ <stop offset="0.6771" style="stop-color:#2B2B2B"/>
+ <stop offset="0.7586" style="stop-color:#444444"/>
+ <stop offset="0.8334" style="stop-color:#626262"/>
+ <stop offset="0.9029" style="stop-color:#868686"/>
+ <stop offset="0.9666" style="stop-color:#AFAFAF"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+ <stop offset="1" style="stop-color:#FFFCFF"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2_)" points="5.167,42.167 7.125,43.375 9.158,44.537 11.833,45.167 62.334,49.334 70.167,49.834
+ 71.334,49 69.166,44.167 12.167,40.167 10.5,38.5 "/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="62.166" y1="51.333" x2="81.5" y2="51.333">
+ <stop offset="0" style="stop-color:#9C9C96;stop-opacity:0.56"/>
+ <stop offset="0.2262" style="stop-color:#9E9E98;stop-opacity:0.7507"/>
+ <stop offset="0.3077" style="stop-color:#A5A59F;stop-opacity:0.8194"/>
+ <stop offset="0.3658" style="stop-color:#B0B0AA;stop-opacity:0.8683"/>
+ <stop offset="0.4128" style="stop-color:#C1C1BB;stop-opacity:0.9079"/>
+ <stop offset="0.453" style="stop-color:#D7D7D1;stop-opacity:0.9418"/>
+ <stop offset="0.488" style="stop-color:#F1F1EC;stop-opacity:0.9713"/>
+ <stop offset="0.503" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.6882" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.7549" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.8025" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.841" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.8739" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9031" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9295" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9537" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9763" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9963" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#141415"/>
+ <stop offset="1" style="stop-color:#2D2D30"/>
+ <stop offset="1" style="stop-color:#505054"/>
+ <stop offset="1" style="stop-color:#7D7D83"/>
+ <stop offset="1" style="stop-color:#B2B2BC"/>
+ <stop offset="1" style="stop-color:#BDBDC7"/>
+</linearGradient>
+<polyline fill="url(#SVGID_3_)" points="74.001,48.5 74.166,48.5 80.166,41.5 81.5,38.833 81.5,33.5 81.5,38.833 81.5,60.833
+ 74.666,67.666 73.166,69.166 62.166,69.166 62.166,51.167 70.875,51.125 72,50.375 74.166,48.5 80.166,41.5 "/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="5.2915" y1="53.333" x2="13.0005" y2="53.333">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
+ <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
+ <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
+ <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
+ <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#F7F7F7"/>
+</linearGradient>
+<polygon fill="url(#SVGID_4_)" points="5.292,42.167 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 13,45.334 9.283,44.537 "/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="12.834" y1="48.25" x2="71.75" y2="48.25">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.4091" style="stop-color:#CBCBC1;stop-opacity:0.772"/>
+ <stop offset="0.5565" style="stop-color:#D1D1C8;stop-opacity:0.8484"/>
+ <stop offset="0.6615" style="stop-color:#DCDCD3;stop-opacity:0.9028"/>
+ <stop offset="0.7458" style="stop-color:#EBEBE4;stop-opacity:0.9465"/>
+ <stop offset="0.8182" style="stop-color:#FFFFFA;stop-opacity:0.984"/>
+ <stop offset="0.8859" style="stop-color:#FDFDF8;stop-opacity:0.99"/>
+ <stop offset="0.9103" style="stop-color:#F6F6F2;stop-opacity:0.9921"/>
+ <stop offset="0.9277" style="stop-color:#EBEBE6;stop-opacity:0.9936"/>
+ <stop offset="0.9418" style="stop-color:#DADAD5;stop-opacity:0.9949"/>
+ <stop offset="0.9539" style="stop-color:#C4C4C0;stop-opacity:0.9959"/>
+ <stop offset="0.9645" style="stop-color:#A8A8A5;stop-opacity:0.9969"/>
+ <stop offset="0.9742" style="stop-color:#888885;stop-opacity:0.9977"/>
+ <stop offset="0.9831" style="stop-color:#626260;stop-opacity:0.9985"/>
+ <stop offset="0.9913" style="stop-color:#373736;stop-opacity:0.9992"/>
+ <stop offset="0.9987" style="stop-color:#090909;stop-opacity:0.9999"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#F7F7F7"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="70.5,51.167 62.166,51.167 12.834,47 13,45.334 70.167,49.834 71.25,49.125 71.75,50.625 "/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="5.4995" y1="60.584" x2="81.5" y2="60.584">
+ <stop offset="0" style="stop-color:#C9C9BF;stop-opacity:0.56"/>
+ <stop offset="0.0042" style="stop-color:#C5C5BB;stop-opacity:0.5619"/>
+ <stop offset="0.0499" style="stop-color:#9C9C94;stop-opacity:0.5819"/>
+ <stop offset="0.0998" style="stop-color:#777771;stop-opacity:0.6039"/>
+ <stop offset="0.1556" style="stop-color:#575752;stop-opacity:0.6284"/>
+ <stop offset="0.2171" style="stop-color:#3B3B38;stop-opacity:0.6555"/>
+ <stop offset="0.2867" style="stop-color:#252524;stop-opacity:0.6861"/>
+ <stop offset="0.3679" style="stop-color:#141413;stop-opacity:0.7219"/>
+ <stop offset="0.4683" style="stop-color:#090908;stop-opacity:0.7661"/>
+ <stop offset="0.6091" style="stop-color:#020202;stop-opacity:0.828"/>
+ <stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="81.5,60.833 81.167,63.334 73.001,73.334 72.001,74 68.834,74 65.001,74.167 61.834,74.167
+ 10,68.5 8.834,68.334 7.334,67.5 5.834,65.667 5.5,62.833 6.833,63.833 9.833,64.5 12.833,64.167 12.834,47 62.166,51.167
+ 62.166,69.166 70,69.25 71.75,69 72.875,68.625 74,67.875 "/>
+<g>
+ <polygon fill="#FFFFFF" points="14.951,73.339 28.827,57.106 54.441,60.101 41.928,78.618 "/>
+ <path fill="#CCCCCC" d="M29.019,57.597l24.609,2.877l-11.913,17.63l-25.893-5.068L29.019,57.597 M28.635,56.616L14.081,73.642
+ l28.06,5.492l13.113-19.406L28.635,56.616L28.635,56.616z"/>
+</g>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="43.6719" y1="40.2466" x2="44.2267" y2="24.3573" gradientTransform="matrix(0.9998 -0.0179 0.0179 0.9998 -0.6087 0.1803)">
+ <stop offset="0.49" style="stop-color:#E0E0DE"/>
+ <stop offset="0.6851" style="stop-color:#DEDEDC"/>
+ <stop offset="0.7553" style="stop-color:#D7D7D5"/>
+ <stop offset="0.8054" style="stop-color:#CBCBCA"/>
+ <stop offset="0.8459" style="stop-color:#BBBBB9"/>
+ <stop offset="0.8806" style="stop-color:#A5A5A3"/>
+ <stop offset="0.9114" style="stop-color:#898988"/>
+ <stop offset="0.9392" style="stop-color:#696968"/>
+ <stop offset="0.9647" style="stop-color:#434343"/>
+ <stop offset="0.9875" style="stop-color:#1A1A1A"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606;stop-opacity:0.9437"/>
+ <stop offset="1" style="stop-color:#151515;stop-opacity:0.8718"/>
+ <stop offset="1" style="stop-color:#303030;stop-opacity:0.7914"/>
+ <stop offset="1" style="stop-color:#545454;stop-opacity:0.7049"/>
+ <stop offset="1" style="stop-color:#838383;stop-opacity:0.6134"/>
+ <stop offset="1" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
+ <stop offset="1" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
+</linearGradient>
+<polygon fill="url(#SVGID_7_)" stroke="#FFFFFF" stroke-width="0.75" points="29.852,23.5 29.104,38.224 57.748,39.875
+ 58.729,24.499 57.979,24.512 "/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="25.834" y1="41.75" x2="57.5" y2="41.75">
+ <stop offset="0" style="stop-color:#C8C8C8;stop-opacity:0.5"/>
+ <stop offset="0" style="stop-color:#BCBCBC;stop-opacity:0.5192"/>
+ <stop offset="0" style="stop-color:#838383;stop-opacity:0.6134"/>
+ <stop offset="0" style="stop-color:#545454;stop-opacity:0.7049"/>
+ <stop offset="0" style="stop-color:#303030;stop-opacity:0.7914"/>
+ <stop offset="0" style="stop-color:#151515;stop-opacity:0.8718"/>
+ <stop offset="0" style="stop-color:#060606;stop-opacity:0.9437"/>
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="0.0125" style="stop-color:#1A1A1A"/>
+ <stop offset="0.0353" style="stop-color:#434343"/>
+ <stop offset="0.0608" style="stop-color:#696968"/>
+ <stop offset="0.0886" style="stop-color:#898988"/>
+ <stop offset="0.1194" style="stop-color:#A5A5A3"/>
+ <stop offset="0.1541" style="stop-color:#BBBBB9"/>
+ <stop offset="0.1946" style="stop-color:#CBCBCA"/>
+ <stop offset="0.2447" style="stop-color:#D7D7D5"/>
+ <stop offset="0.3149" style="stop-color:#DEDEDC"/>
+ <stop offset="0.51" style="stop-color:#E0E0DE"/>
+</linearGradient>
+<polygon fill="url(#SVGID_8_)" stroke="#666666" stroke-width="0.5" points="25.834,42.667 29.167,38.833 57.5,40.375
+ 54.667,44.667 "/>
+<polygon fill="#FFFFFF" points="36.375,29.375 36,29.375 35.667,34.875 49.834,35.708 50,29.875 "/>
+<polygon points="23.75,29.375 6.5,42.75 5.375,41.75 22.167,29.5 22.875,29 23.625,28.875 "/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="69.2783" y1="45.7109" x2="83.5552" y2="36.7898">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.1726" style="stop-color:#7B8183"/>
+ <stop offset="0.3672" style="stop-color:#4F5355"/>
+ <stop offset="0.5533" style="stop-color:#2D2F30"/>
+ <stop offset="0.7258" style="stop-color:#141516"/>
+ <stop offset="0.8799" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_9_)" points="69.166,44.167 71.334,49 81.5,38.833 81.5,33.5 "/>
+<g>
+ <path d="M30.569,60.508c1.881,0.611,3.933,1.166,5.257,1.355l0.652,1.387c-0.071,0.004-0.2-0.045-0.365-0.183
+ c-1.438-0.296-3.623-0.968-5.577-1.644l-1.485,2.334l4.729,3.011l-0.5,0.786l-4.729-3.012l-1.934,3.036l4.94,3.146l-0.492,0.773
+ l-4.94-3.146l-0.63,0.988l-1.094-0.695l5.595-8.787L30.569,60.508z M43.425,68.324l-4.473,7.024
+ c-0.659,1.036-1.451,0.55-3.962-1.05c0.08-0.268,0.118-0.762,0.092-1.079c0.433,0.292,0.856,0.562,1.215,0.79
+ c1.387,0.883,1.387,0.883,1.554,0.621l3.964-6.227L37.411,65.6l-5.799,9.108l-1.109-0.705l6.3-9.895L43.425,68.324z"/>
+</g>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="71.334" y1="49" x2="71.334" y2="49">
+ <stop offset="0" style="stop-color:#A8B0B3"/>
+ <stop offset="0.1726" style="stop-color:#7B8183"/>
+ <stop offset="0.3672" style="stop-color:#4F5355"/>
+ <stop offset="0.5533" style="stop-color:#2D2F30"/>
+ <stop offset="0.7258" style="stop-color:#141516"/>
+ <stop offset="0.8799" style="stop-color:#050506"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#060606"/>
+ <stop offset="1" style="stop-color:#151515"/>
+ <stop offset="1" style="stop-color:#303030"/>
+ <stop offset="1" style="stop-color:#545454"/>
+ <stop offset="1" style="stop-color:#838383"/>
+ <stop offset="1" style="stop-color:#BCBCBC"/>
+ <stop offset="1" style="stop-color:#C8C8C8"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" d="M71.334,49"/>
+</svg>
--- a/DirectPrint/DirectPrintApp/group/bld.inf Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/group/bld.inf Tue May 11 14:10:02 2010 +0800
@@ -1,32 +1,32 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-
-PRJ_PLATFORMS
-WINSCW ARMV5 GCCE
-
-PRJ_EXPORTS
-../engine/inc/directprintband.h |../../inc/directprintband.h
-../engine/inc/directprintbanduid.h |../../inc/directprintbanduid.h
-
-PRJ_MMPFILES
-
-gnumakefile icons_scalable_dc.mk
-
-DirectPrintApp.mmp
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
+
+PRJ_EXPORTS
+../engine/inc/directprintband.h |../../inc/directprintband.h
+../engine/inc/directprintbanduid.h |../../inc/directprintbanduid.h
+
+PRJ_MMPFILES
+
+gnumakefile icons_scalable_dc.mk
+
+DirectPrintApp.mmp
+
--- a/DirectPrint/DirectPrintApp/group/directprintapp.mmp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/group/directprintapp.mmp Tue May 11 14:10:02 2010 +0800
@@ -1,139 +1,139 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Use standard macros
-#include <platform_paths.hrh>
-
-// Build target
-TARGET DirectPrintApp.exe
-TARGETTYPE exe
-UID 0x100039CE 0x2002BB28
-
-EPOCSTACKSIZE 0x10000 // Min 64kb
-EPOCHEAPSIZE 0x20000 0x1000000 // Min 128kb, max 16Mb
-
-sourcepath ../src
-source directprintapp.cpp
-source directprintappapplication.cpp
-source directprintappappui.cpp
-source directprintappdocument.cpp
-source directprintmodel.cpp
-source directprintbearermgr.cpp
-source directprintprinterdata.cpp
-source directprintbearerdata.cpp
-source directprintproperty.cpp
-source directprintmsgutil.cpp
-source directprintuipluginmgr.cpp
-source directprintprinterinforeader.cpp
-
-sourcepath ../ui/src
-source directprintlistbox.cpp
-source directprintsettinglistbox.cpp
-source directprintlistview.cpp
-source directprintmainview.cpp
-source directprintpreviewview.cpp
-source directprintpropertyview.cpp
-source directprintsearchresultview.cpp
-source directprintsettingview.cpp
-source directprintviewbase.cpp
-source directprintpreviewcontrol.cpp
-
-sourcepath ../engine/src
-source directprintengine.cpp
-source directprintfloatcapability.cpp
-source directprintlistcapability.cpp
-source directprinttintcapability.cpp
-source directprinttextcapability.cpp
-source directprintprintsettings.cpp
-source directprintsettingsconverter.cpp
-
-
-SOURCEPATH ../data
-
-START RESOURCE DirectPrintApp.rss
-HEADER
-TARGET DirectPrintApp
-TARGETPATH resource/apps
-END //RESOURCE
-
-START RESOURCE DirectPrintApp_reg.rss
-TARGET DirectPrintApp_reg
-TARGETPATH /private/10003a3f/apps
-END //RESOURCE
-
-
-
-USERINCLUDE ../inc
-USERINCLUDE ../ui/inc
-USERINCLUDE ../engine/inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../ImagePrintLibrary/inc
-
-SYSTEMINCLUDE /epoc32/include/ecom
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY avkon.lib
-LIBRARY ecom.lib // REComSession
-LIBRARY commonengine.lib
-LIBRARY efsrv.lib
-LIBRARY estor.lib
-LIBRARY aknnotify.lib
-LIBRARY eikdlg.lib
-LIBRARY bafl.lib
-LIBRARY insock.lib
-LIBRARY eikctl.lib
-LIBRARY servicehandler.lib
-LIBRARY ws32.lib
-LIBRARY gdi.lib
-LIBRARY print.lib // CPrintSetup
-LIBRARY prev.lib // CPrintPreviewImage
-LIBRARY fbscli.lib // CFbsBitmap
-LIBRARY etext.lib // CRichText
-LIBRARY pdrprt.lib // CFilePrinterPort
-LIBRARY field.lib // CPageNumField
-LIBRARY eikcoctl.lib // CEikBorderedControl
-LIBRARY egul.lib // TGulBorder
-
-LIBRARY centralrepository.lib // CRepository
-
-LIBRARY directprintclient.lib // CDirectPrintClient
-
-LIBRARY XmlEngineDom.lib
-
-STATICLIBRARY clog.lib
-LIBRARY flogger.lib
-
-LIBRARY platformenv.lib
-
-//not use LIBRARY featmgr.lib
-
-LANG SC
-
-VENDORID 0
-SECUREID 0x2002BB28
-CAPABILITY ALL -TCB
-
-#ifdef ENABLE_ABIV2_MODE
-DEBUGGABLE_UDEBONLY
-#endif
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Use standard macros
+#include <platform_paths.hrh>
+
+// Build target
+TARGET DirectPrintApp.exe
+TARGETTYPE exe
+UID 0x100039CE 0x2002BB28
+
+EPOCSTACKSIZE 0x10000 // Min 64kb
+EPOCHEAPSIZE 0x20000 0x1000000 // Min 128kb, max 16Mb
+
+sourcepath ../src
+source directprintapp.cpp
+source directprintappapplication.cpp
+source directprintappappui.cpp
+source directprintappdocument.cpp
+source directprintmodel.cpp
+source directprintbearermgr.cpp
+source directprintprinterdata.cpp
+source directprintbearerdata.cpp
+source directprintproperty.cpp
+source directprintmsgutil.cpp
+source directprintuipluginmgr.cpp
+source directprintprinterinforeader.cpp
+
+sourcepath ../ui/src
+source directprintlistbox.cpp
+source directprintsettinglistbox.cpp
+source directprintlistview.cpp
+source directprintmainview.cpp
+source directprintpreviewview.cpp
+source directprintpropertyview.cpp
+source directprintsearchresultview.cpp
+source directprintsettingview.cpp
+source directprintviewbase.cpp
+source directprintpreviewcontrol.cpp
+
+sourcepath ../engine/src
+source directprintengine.cpp
+source directprintfloatcapability.cpp
+source directprintlistcapability.cpp
+source directprinttintcapability.cpp
+source directprinttextcapability.cpp
+source directprintprintsettings.cpp
+source directprintsettingsconverter.cpp
+
+
+SOURCEPATH ../data
+
+START RESOURCE DirectPrintApp.rss
+HEADER
+TARGET DirectPrintApp
+TARGETPATH resource/apps
+END //RESOURCE
+
+START RESOURCE DirectPrintApp_reg.rss
+TARGET DirectPrintApp_reg
+TARGETPATH /private/10003a3f/apps
+END //RESOURCE
+
+
+
+USERINCLUDE ../inc
+USERINCLUDE ../ui/inc
+USERINCLUDE ../engine/inc
+USERINCLUDE ../../inc
+USERINCLUDE ../../ImagePrintLibrary/inc
+
+SYSTEMINCLUDE /epoc32/include/ecom
+
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY euser.lib
+LIBRARY apparc.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY avkon.lib
+LIBRARY ecom.lib // REComSession
+LIBRARY commonengine.lib
+LIBRARY efsrv.lib
+LIBRARY estor.lib
+LIBRARY aknnotify.lib
+LIBRARY eikdlg.lib
+LIBRARY bafl.lib
+LIBRARY insock.lib
+LIBRARY eikctl.lib
+LIBRARY servicehandler.lib
+LIBRARY ws32.lib
+LIBRARY gdi.lib
+LIBRARY print.lib // CPrintSetup
+LIBRARY prev.lib // CPrintPreviewImage
+LIBRARY fbscli.lib // CFbsBitmap
+LIBRARY etext.lib // CRichText
+LIBRARY pdrprt.lib // CFilePrinterPort
+LIBRARY field.lib // CPageNumField
+LIBRARY eikcoctl.lib // CEikBorderedControl
+LIBRARY egul.lib // TGulBorder
+
+LIBRARY centralrepository.lib // CRepository
+
+LIBRARY directprintclient.lib // CDirectPrintClient
+
+LIBRARY XmlEngineDom.lib
+
+STATICLIBRARY clog.lib
+LIBRARY flogger.lib
+
+LIBRARY platformenv.lib
+
+//not use LIBRARY featmgr.lib
+
+LANG SC
+
+VENDORID 0
+SECUREID 0x2002BB28
+CAPABILITY ALL -TCB
+
+#ifdef ENABLE_ABIV2_MODE
+DEBUGGABLE_UDEBONLY
+#endif
+// End of File
--- a/DirectPrint/DirectPrintApp/group/icons_scalable_dc.mk Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/group/icons_scalable_dc.mk Tue May 11 14:10:02 2010 +0800
@@ -1,59 +1,59 @@
-# ============================================================================
-# Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-#
-# Contributors:
-#
-# Description: This is file for creating .mif file (scalable icon)
-#
-# ============================================================================
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\DirectPrintApp.mif
-
-ICONDIR=..\gfx
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN :
- @echo ...Deleting $(ICONTARGETFILENAME)
- if exist $(ICONTARGETFILENAME) del /q /f $(ICONTARGETFILENAME)
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE : $(ICONTARGETFILENAME)
-
-$(ICONTARGETFILENAME) : $(ICONDIR)\qgn_menu_DirectPrintApp.svg
- mifconv $(ICONTARGETFILENAME) \
- /c32 $(ICONDIR)\qgn_menu_DirectPrintApp.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
+# ============================================================================
+# Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+#
+# Contributors:
+#
+# Description: This is file for creating .mif file (scalable icon)
+#
+# ============================================================================
+
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=$(EPOCROOT)epoc32\data\z
+endif
+
+TARGETDIR=$(ZDIR)\resource\apps
+ICONTARGETFILENAME=$(TARGETDIR)\DirectPrintApp.mif
+
+ICONDIR=..\gfx
+
+do_nothing :
+ @rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN :
+ @echo ...Deleting $(ICONTARGETFILENAME)
+ if exist $(ICONTARGETFILENAME) del /q /f $(ICONTARGETFILENAME)
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+RESOURCE : $(ICONTARGETFILENAME)
+
+$(ICONTARGETFILENAME) : $(ICONDIR)\qgn_menu_DirectPrintApp.svg
+ mifconv $(ICONTARGETFILENAME) \
+ /c32 $(ICONDIR)\qgn_menu_DirectPrintApp.svg
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+ @echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
+
--- a/DirectPrint/DirectPrintApp/inc/directprintapp.hrh Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintapp.hrh Tue May 11 14:10:02 2010 +0800
@@ -1,107 +1,107 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __DIRECTPRINTAPP_HRH__
-#define __DIRECTPRINTAPP_HRH__
-
-#define _UID3 0x2002BB28
-
-enum TDirectPrintViewIds
- {
- EDirectPrintMainViewId = 1,
- EDirectPrintPrinterListViewId,
- EDirectPrintSearchResultViewId,
- EDirectPrintPrinterSettingViewId,
- EDirectPrintPreviewViewId,
- EDirectPrintPropertyViewId
- };
-
-// DirectPrintApp enumerate command codes
-enum TDirectPrintCommandIds
- {
- EDirectPrintCmdIdMainViewPrint = 0x6001, // start value must not be 0
- EDirectPrintCmdIdMainViewPreview,
- EDirectPrintCmdIdMainViewPrinterList,
- EDirectPrintCmdIdMainViewPrinterSetting,
- EDirectPrintCmdIdMainViewPropertySetting,
-
- EDirectPrintCmdIdMainViewHelp,
- EDirectPrintCmdIdMainViewAbout,
- EDirectPrintCmdIdMainViewExit,
-
- EDirectPrintCmdIdPrinterListViewSearch,
- EDirectPrintCmdIdPrinterListViewNew,
- EDirectPrintCmdIdPrinterListViewEdit,
- EDirectPrintCmdIdPrinterListViewDelete,
- EDirectPrintCmdIdPrinterListViewDone,
-
- EDirectPrintCmdIdSearchResultViewSearch,
- EDirectPrintCmdIdSearchResultViewSelect,
- EDirectPrintCmdIdSearchResultViewCancel,
-
- EDirectPrintCmdIdPrinterSettingViewChange,
- EDirectPrintCmdIdPrinterSettingViewBack,
-
- EDirectPrintCmdIdPropertySettingViewChange,
- EDirectPrintCmdIdPropertySettingViewPrint,
- EDirectPrintCmdIdPropertySettingViewPreview,
- EDirectPrintCmdIdPropertySettingViewBack,
-
- EDirectPrintCmdIdPreviewViewPrint,
- EDirectPrintCmdIdPreviewViewExpand,
- EDirectPrintCmdIdPreviewViewReduce,
- EDirectPrintCmdIdPreviewViewBack
- };
-
-enum TDirectPrintPropertyTabIds
- {
- EDirectPrintPaperSettingTab = 0,
- EDirectPrintPageSettingTab,
- EDirectPrintMarginSettingTab,
- EDirectPrintHeaderSettingTab,
- EDirectPrintFooterSettingTab
- };
-
-enum TDirectPrintPropertyItemIds
- {
- EDirectPrintPaperPaperSize = 0,
- EDirectPrintPaperOrientation,
- EDirectPrintPaperHight,
- EDirectPrintPaperWidth,
- EDirectPrintPagePrintPage,
- EDirectPrintPagePrintRange,
- EDirectPrintPageCopy,
- EDirectPrintMarginLeftMargin,
- EDirectPrintMarginRightMargin,
- EDirectPrintMarginTopMargin,
- EDirectPrintMarginBottomMargin,
- EDirectPrintHeaderHeaderText,
- EDirectPrintHeaderDistance,
- EDirectPrintHeaderFirstPage,
- EDirectPrintFooterFooterText,
- EDirectPrintFooterDistance,
- EDirectPrintFooterFirstPage,
- EDirectPrintPropertyItemEnd
- };
-
-enum TDirectPrintCtrlIds
- {
- EDirectPrintCtrlIdPrintProgressNote = 1,
- EDirectPrintCtrlIdSearchProgressNote
- };
-
-#endif // __DIRECTPRINTAPP_HRH__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __DIRECTPRINTAPP_HRH__
+#define __DIRECTPRINTAPP_HRH__
+
+#define _UID3 0x2002BB28
+
+enum TDirectPrintViewIds
+ {
+ EDirectPrintMainViewId = 1,
+ EDirectPrintPrinterListViewId,
+ EDirectPrintSearchResultViewId,
+ EDirectPrintPrinterSettingViewId,
+ EDirectPrintPreviewViewId,
+ EDirectPrintPropertyViewId
+ };
+
+// DirectPrintApp enumerate command codes
+enum TDirectPrintCommandIds
+ {
+ EDirectPrintCmdIdMainViewPrint = 0x6001, // start value must not be 0
+ EDirectPrintCmdIdMainViewPreview,
+ EDirectPrintCmdIdMainViewPrinterList,
+ EDirectPrintCmdIdMainViewPrinterSetting,
+ EDirectPrintCmdIdMainViewPropertySetting,
+
+ EDirectPrintCmdIdMainViewHelp,
+ EDirectPrintCmdIdMainViewAbout,
+ EDirectPrintCmdIdMainViewExit,
+
+ EDirectPrintCmdIdPrinterListViewSearch,
+ EDirectPrintCmdIdPrinterListViewNew,
+ EDirectPrintCmdIdPrinterListViewEdit,
+ EDirectPrintCmdIdPrinterListViewDelete,
+ EDirectPrintCmdIdPrinterListViewDone,
+
+ EDirectPrintCmdIdSearchResultViewSearch,
+ EDirectPrintCmdIdSearchResultViewSelect,
+ EDirectPrintCmdIdSearchResultViewCancel,
+
+ EDirectPrintCmdIdPrinterSettingViewChange,
+ EDirectPrintCmdIdPrinterSettingViewBack,
+
+ EDirectPrintCmdIdPropertySettingViewChange,
+ EDirectPrintCmdIdPropertySettingViewPrint,
+ EDirectPrintCmdIdPropertySettingViewPreview,
+ EDirectPrintCmdIdPropertySettingViewBack,
+
+ EDirectPrintCmdIdPreviewViewPrint,
+ EDirectPrintCmdIdPreviewViewExpand,
+ EDirectPrintCmdIdPreviewViewReduce,
+ EDirectPrintCmdIdPreviewViewBack
+ };
+
+enum TDirectPrintPropertyTabIds
+ {
+ EDirectPrintPaperSettingTab = 0,
+ EDirectPrintPageSettingTab,
+ EDirectPrintMarginSettingTab,
+ EDirectPrintHeaderSettingTab,
+ EDirectPrintFooterSettingTab
+ };
+
+enum TDirectPrintPropertyItemIds
+ {
+ EDirectPrintPaperPaperSize = 0,
+ EDirectPrintPaperOrientation,
+ EDirectPrintPaperHight,
+ EDirectPrintPaperWidth,
+ EDirectPrintPagePrintPage,
+ EDirectPrintPagePrintRange,
+ EDirectPrintPageCopy,
+ EDirectPrintMarginLeftMargin,
+ EDirectPrintMarginRightMargin,
+ EDirectPrintMarginTopMargin,
+ EDirectPrintMarginBottomMargin,
+ EDirectPrintHeaderHeaderText,
+ EDirectPrintHeaderDistance,
+ EDirectPrintHeaderFirstPage,
+ EDirectPrintFooterFooterText,
+ EDirectPrintFooterDistance,
+ EDirectPrintFooterFirstPage,
+ EDirectPrintPropertyItemEnd
+ };
+
+enum TDirectPrintCtrlIds
+ {
+ EDirectPrintCtrlIdPrintProgressNote = 1,
+ EDirectPrintCtrlIdSearchProgressNote
+ };
+
+#endif // __DIRECTPRINTAPP_HRH__
--- a/DirectPrint/DirectPrintApp/inc/directprintapp.pan Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintapp.pan Tue May 11 14:10:02 2010 +0800
@@ -1,39 +1,39 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __DIRECTPRINTAPP_PAN__
-#define __DIRECTPRINTAPP_PAN__
-
-#include <e32std.h>
-
-/** DirectPrintApp application panic codes */
-enum TDirectPrintAppPanics
- {
- EDirectPrintAppUi = 1,
- EDirectPrintNoObserver,
- EDirectPrintNullPointer,
-
- EDirectPrintEnd
- };
-
-inline void Panic(TDirectPrintAppPanics aReason)
- {
- _LIT(applicationName, "DirectPrintApp");
- User::Panic(applicationName, aReason);
- }
-
-#endif // __DIRECTPRINTAPP_PAN__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __DIRECTPRINTAPP_PAN__
+#define __DIRECTPRINTAPP_PAN__
+
+#include <e32std.h>
+
+/** DirectPrintApp application panic codes */
+enum TDirectPrintAppPanics
+ {
+ EDirectPrintAppUi = 1,
+ EDirectPrintNoObserver,
+ EDirectPrintNullPointer,
+
+ EDirectPrintEnd
+ };
+
+inline void Panic(TDirectPrintAppPanics aReason)
+ {
+ _LIT(applicationName, "DirectPrintApp");
+ User::Panic(applicationName, aReason);
+ }
+
+#endif // __DIRECTPRINTAPP_PAN__
--- a/DirectPrint/DirectPrintApp/inc/directprintappapplication.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintappapplication.h Tue May 11 14:10:02 2010 +0800
@@ -1,68 +1,68 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTAPPAPPLICATION_H__
-#define __DIRECTPRINTAPPAPPLICATION_H__
-
-// System includes
-#include <aknapp.h>
-
-// User includes
-#include "DirectPrintApp.hrh"
-
-// UID for the application;
-// this should correspond to the uid defined in the mmp file
-const TUid KUidDirectPrintAppApp =
- {
- _UID3
- };
-
-// CLASS DECLARATION
-
-/**
- * CDirectPrintAppApplication application class.
- * Provides factory to create concrete document object.
- * An instance of CDirectPrintAppApplication is the application part of the
- * AVKON application framework for the DirectPrintApp example application.
- */
-class CDirectPrintAppApplication : public CAknApplication
- {
-public:
- // Functions from base classes
-
- /**
- * From CApaApplication, AppDllUid.
- * @return Application's UID (KUidDirectPrintAppApp).
- */
- TUid AppDllUid() const;
-
-protected:
- // Functions from base classes
-
- /**
- * From CApaApplication, CreateDocumentL.
- * Creates CDirectPrintAppDocument document object. The returned
- * pointer in not owned by the CDirectPrintAppApplication object.
- * @return A pointer to the created document object.
- */
- CApaDocument* CreateDocumentL();
- };
-
-#endif // __DIRECTPRINTAPPAPPLICATION_H__
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTAPPAPPLICATION_H__
+#define __DIRECTPRINTAPPAPPLICATION_H__
+
+// System includes
+#include <aknapp.h>
+
+// User includes
+#include "DirectPrintApp.hrh"
+
+// UID for the application;
+// this should correspond to the uid defined in the mmp file
+const TUid KUidDirectPrintAppApp =
+ {
+ _UID3
+ };
+
+// CLASS DECLARATION
+
+/**
+ * CDirectPrintAppApplication application class.
+ * Provides factory to create concrete document object.
+ * An instance of CDirectPrintAppApplication is the application part of the
+ * AVKON application framework for the DirectPrintApp example application.
+ */
+class CDirectPrintAppApplication : public CAknApplication
+ {
+public:
+ // Functions from base classes
+
+ /**
+ * From CApaApplication, AppDllUid.
+ * @return Application's UID (KUidDirectPrintAppApp).
+ */
+ TUid AppDllUid() const;
+
+protected:
+ // Functions from base classes
+
+ /**
+ * From CApaApplication, CreateDocumentL.
+ * Creates CDirectPrintAppDocument document object. The returned
+ * pointer in not owned by the CDirectPrintAppApplication object.
+ * @return A pointer to the created document object.
+ */
+ CApaDocument* CreateDocumentL();
+ };
+
+#endif // __DIRECTPRINTAPPAPPLICATION_H__
+// End of File
--- a/DirectPrint/DirectPrintApp/inc/directprintappappui.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintappappui.h Tue May 11 14:10:02 2010 +0800
@@ -1,246 +1,246 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTAPPAPPUI_H__
-#define __DIRECTPRINTAPPAPPUI_H__
-
-// System includes
-#include <aknviewappui.h>
-#include <aknnavide.h>
-#include <AknTabObserver.h>
-#include <e32property.h>
-#include <xmlengdocument.h> // RXmlEngDocument
-#include <xmlengdomparser.h> // RXmlEngDOMParser
-#include <xmlengdomimplementation.h> // RXmlEngDOMImplementation
-
-// User includes
-#include "DirectPrintEngineObserver.h"
-#include "DirectPrintBearerMngObserver.h"
-
-// Forward declarations
-class CDirectPrintMainView;
-class CDirectPrintAppDocument;
-class CDirectPrintEngine;
-class CDirectPrintBearerMgr;
-class CDirectPrintUiPluginMgr;
-
-// Class declaration
-class CDirectPrintAppAppUi : public CAknViewAppUi,
- public MAknTabObserver,
- public MDirectPrintEngineObserver,
- public MDirectPrintBearerMngObserver
- {
-public: // Constructors and destructor
- CDirectPrintAppAppUi();
- virtual ~CDirectPrintAppAppUi();
- void ConstructL();
-
-private:
- // Functions from base classes
-
- /**
- * From CEikAppUi, HandleCommandL.
- * Takes care of command handling.
- * @param aCommand Command to be handled.
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From CEikAppUi, HandleResourceChangeL.
- * Handles a change to the application's resources.
- * @param aType Type of resources.
- */
- void HandleResourceChangeL( TInt aType );
-
-public: // from MAknTabObserver
- /**
- * From MAknTabObserver, TabChangedL.
- * Handles a change to the tabs.
- * @param aIndex Index of tabs.
- */
- void TabChangedL(TInt aIndex);
-
-public: // from MDirectPrintEngineObserver
- /**
- * From MDirectPrintEngineObserver, HandlePrintEventL.
- * Handles user events.
- * @param aEvent The ID of the event.
- * @param aError The ID of the error.
- * @param aParam Parameter.
- */
- void HandlePrintEventL(TDirectPrintEngineEvents aEvent,
- TInt aError,
- const TDesC& aParam);
-
-public: // from MDirectPrintBearerMngObserver
- /**
- * From MDirectPrintBearerMngObserver, HandleBearerMngEventL.
- * Handles user events.
- * @param aEvent The ID of the event.
- * @param aError Error code.
- * @param aParam Parameter.
- */
- void HandleBearerMngEventL(TDirectPrintBearerMngEvents aEvent,
- TInt aError,
- const TDesC& aParam);
-
- /**
- * From MDirectPrintBearerMngObserver, PrintJobProgressEvent.
- * Handles user events.
- * @param aStatus The ID of the status.
- * @param aPercentCompletion Percentage of progress.
- * @param aJobStateCode The ID of job states.
- */
- void PrintJobProgressEvent( TInt aStatus,
- TInt aPercentCompletion,
- TInt aJobStateCode );
-
-
- /**
- * From MDirectPrintBearerMngObserver, PrintJobErrorEvent.
- * Handles user events.
- * @param aError The ID of the error.
- * @param aErrorStringCode The ID of error strings.
- */
- void PrintJobErrorEvent( TInt aError,
- TInt aErrorStringCode );
-
-
- /**
- * From MDirectPrintBearerMngObserver, PrinterStatusEvent.
- * Handles user events.
- * @param aError The ID of the error.
- * @param aErrorStringCode The ID of error strings.
- */
- void PrinterStatusEvent( TInt aError,
- TInt aErrorStringCode );
-
- /**
- * From MDirectPrintBearerMngObserver, PreviewImageEvent.
- * Handles user events.
- * @param aFsBitmapHandle The Handle of the bitmap.
- */
- void PreviewImageEvent( TInt aFsBitmapHandle );
-
- /**
- * From MDirectPrintBearerMngObserver, ShowMessageL.
- * Show messages.
- * @param aMsgLine1Code The ID of message.
- * @param aMsgLine2Code The ID of message.
- */
- void ShowMessageL( TInt aMsgLine1Code,
- TInt aMsgLine2Code );
-
- /**
- * From MDirectPrintBearerMngObserver, AskYesNoQuestionL.
- * Show Yes/No question.
- * @param aMsgLine1Code The ID of message.
- * @param aMsgLine2Code The ID of message.
- * @return ETrue is Yes. EFalse is No.
- */
- TBool AskYesNoQuestionL( TInt aMsgLine1Code,
- TInt aMsgLine2Code );
-
- /**
- * From MDirectPrintBearerMngObserver, AskForInputL.
- * input.
- * @param aMsgLine1Code The ID of message.
- * @param aMsgLine2Code The ID of message.
- * @return Inputed strings.
- */
- const TDesC& AskForInputL( TInt aMsgLine1Code,
- TInt aMsgLine2Code );
-
-public:
- /**
- * engine object.
- *
- * @return Pointer to a engine object.
- */
- inline CDirectPrintEngine* Engine() {return iEngine;}
-
- /**
- * document object.
- *
- * @return Pointer to a document object.
- */
- inline CDirectPrintAppDocument* Doc() {return iDoc;}
-
- /**
- * Plugin manager object.
- *
- * @return Reference to a plugin manager object.
- */
- inline CDirectPrintUiPluginMgr& PluginMgr() {return *iPluginMgr;}
-
- /**
- * Bearer manager object.
- *
- * @return Pointer to a bearer manager object.
- */
- inline CDirectPrintBearerMgr* BearerMgr() {return iBearerMgr;}
-
-private:
- void MakeNaviPaneVisibleL(TBool aVisible);
- void MakeStatusPaneVisible(TBool aVisible);
-
- void InitializeViewsL();
- void LoadParamL();
- void GetParamFromAiwProviderL();
-
- void InitializeEngineL();
- void InitializeBearerMngL();
- void InitializePluginMgrL();
-
-private: // Data
- // Used for navigation pane text
- CAknNavigationDecorator* iNaviDecorator;
-
- // Document class
- CDirectPrintAppDocument* iDoc;
-
- // previous view id
- TUid iBackViewUid;
-
- // For AIW calls;
- TInt iAiwState;
-
- // publish/subscribe of aiw print
- RProperty iAiwCall;
-
- // print engine
- CDirectPrintEngine* iEngine;
-
- // bearer manager
- CDirectPrintBearerMgr* iBearerMgr;
-
- // param xml object
- RXmlEngDocument iXmlEngDoc;
- RXmlEngDOMImplementation iXmlDomImpl;
- RXmlEngDOMParser iXmlParser;
-
- HBufC8* iXmlParam;
-
- CDirectPrintUiPluginMgr* iPluginMgr;
- };
-
-#endif // __DIRECTPRINTAPPAPPUI_H__
-
-// End of File
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTAPPAPPUI_H__
+#define __DIRECTPRINTAPPAPPUI_H__
+
+// System includes
+#include <aknviewappui.h>
+#include <aknnavide.h>
+#include <AknTabObserver.h>
+#include <e32property.h>
+#include <xmlengdocument.h> // RXmlEngDocument
+#include <xmlengdomparser.h> // RXmlEngDOMParser
+#include <xmlengdomimplementation.h> // RXmlEngDOMImplementation
+
+// User includes
+#include "DirectPrintEngineObserver.h"
+#include "DirectPrintBearerMngObserver.h"
+
+// Forward declarations
+class CDirectPrintMainView;
+class CDirectPrintAppDocument;
+class CDirectPrintEngine;
+class CDirectPrintBearerMgr;
+class CDirectPrintUiPluginMgr;
+
+// Class declaration
+class CDirectPrintAppAppUi : public CAknViewAppUi,
+ public MAknTabObserver,
+ public MDirectPrintEngineObserver,
+ public MDirectPrintBearerMngObserver
+ {
+public: // Constructors and destructor
+ CDirectPrintAppAppUi();
+ virtual ~CDirectPrintAppAppUi();
+ void ConstructL();
+
+private:
+ // Functions from base classes
+
+ /**
+ * From CEikAppUi, HandleCommandL.
+ * Takes care of command handling.
+ * @param aCommand Command to be handled.
+ */
+ void HandleCommandL( TInt aCommand );
+
+ /**
+ * From CEikAppUi, HandleResourceChangeL.
+ * Handles a change to the application's resources.
+ * @param aType Type of resources.
+ */
+ void HandleResourceChangeL( TInt aType );
+
+public: // from MAknTabObserver
+ /**
+ * From MAknTabObserver, TabChangedL.
+ * Handles a change to the tabs.
+ * @param aIndex Index of tabs.
+ */
+ void TabChangedL(TInt aIndex);
+
+public: // from MDirectPrintEngineObserver
+ /**
+ * From MDirectPrintEngineObserver, HandlePrintEventL.
+ * Handles user events.
+ * @param aEvent The ID of the event.
+ * @param aError The ID of the error.
+ * @param aParam Parameter.
+ */
+ void HandlePrintEventL(TDirectPrintEngineEvents aEvent,
+ TInt aError,
+ const TDesC& aParam);
+
+public: // from MDirectPrintBearerMngObserver
+ /**
+ * From MDirectPrintBearerMngObserver, HandleBearerMngEventL.
+ * Handles user events.
+ * @param aEvent The ID of the event.
+ * @param aError Error code.
+ * @param aParam Parameter.
+ */
+ void HandleBearerMngEventL(TDirectPrintBearerMngEvents aEvent,
+ TInt aError,
+ const TDesC& aParam);
+
+ /**
+ * From MDirectPrintBearerMngObserver, PrintJobProgressEvent.
+ * Handles user events.
+ * @param aStatus The ID of the status.
+ * @param aPercentCompletion Percentage of progress.
+ * @param aJobStateCode The ID of job states.
+ */
+ void PrintJobProgressEvent( TInt aStatus,
+ TInt aPercentCompletion,
+ TInt aJobStateCode );
+
+
+ /**
+ * From MDirectPrintBearerMngObserver, PrintJobErrorEvent.
+ * Handles user events.
+ * @param aError The ID of the error.
+ * @param aErrorStringCode The ID of error strings.
+ */
+ void PrintJobErrorEvent( TInt aError,
+ TInt aErrorStringCode );
+
+
+ /**
+ * From MDirectPrintBearerMngObserver, PrinterStatusEvent.
+ * Handles user events.
+ * @param aError The ID of the error.
+ * @param aErrorStringCode The ID of error strings.
+ */
+ void PrinterStatusEvent( TInt aError,
+ TInt aErrorStringCode );
+
+ /**
+ * From MDirectPrintBearerMngObserver, PreviewImageEvent.
+ * Handles user events.
+ * @param aFsBitmapHandle The Handle of the bitmap.
+ */
+ void PreviewImageEvent( TInt aFsBitmapHandle );
+
+ /**
+ * From MDirectPrintBearerMngObserver, ShowMessageL.
+ * Show messages.
+ * @param aMsgLine1Code The ID of message.
+ * @param aMsgLine2Code The ID of message.
+ */
+ void ShowMessageL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code );
+
+ /**
+ * From MDirectPrintBearerMngObserver, AskYesNoQuestionL.
+ * Show Yes/No question.
+ * @param aMsgLine1Code The ID of message.
+ * @param aMsgLine2Code The ID of message.
+ * @return ETrue is Yes. EFalse is No.
+ */
+ TBool AskYesNoQuestionL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code );
+
+ /**
+ * From MDirectPrintBearerMngObserver, AskForInputL.
+ * input.
+ * @param aMsgLine1Code The ID of message.
+ * @param aMsgLine2Code The ID of message.
+ * @return Inputed strings.
+ */
+ const TDesC& AskForInputL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code );
+
+public:
+ /**
+ * engine object.
+ *
+ * @return Pointer to a engine object.
+ */
+ inline CDirectPrintEngine* Engine() {return iEngine;}
+
+ /**
+ * document object.
+ *
+ * @return Pointer to a document object.
+ */
+ inline CDirectPrintAppDocument* Doc() {return iDoc;}
+
+ /**
+ * Plugin manager object.
+ *
+ * @return Reference to a plugin manager object.
+ */
+ inline CDirectPrintUiPluginMgr& PluginMgr() {return *iPluginMgr;}
+
+ /**
+ * Bearer manager object.
+ *
+ * @return Pointer to a bearer manager object.
+ */
+ inline CDirectPrintBearerMgr* BearerMgr() {return iBearerMgr;}
+
+private:
+ void MakeNaviPaneVisibleL(TBool aVisible);
+ void MakeStatusPaneVisible(TBool aVisible);
+
+ void InitializeViewsL();
+ void LoadParamL();
+ void GetParamFromAiwProviderL();
+
+ void InitializeEngineL();
+ void InitializeBearerMngL();
+ void InitializePluginMgrL();
+
+private: // Data
+ // Used for navigation pane text
+ CAknNavigationDecorator* iNaviDecorator;
+
+ // Document class
+ CDirectPrintAppDocument* iDoc;
+
+ // previous view id
+ TUid iBackViewUid;
+
+ // For AIW calls;
+ TInt iAiwState;
+
+ // publish/subscribe of aiw print
+ RProperty iAiwCall;
+
+ // print engine
+ CDirectPrintEngine* iEngine;
+
+ // bearer manager
+ CDirectPrintBearerMgr* iBearerMgr;
+
+ // param xml object
+ RXmlEngDocument iXmlEngDoc;
+ RXmlEngDOMImplementation iXmlDomImpl;
+ RXmlEngDOMParser iXmlParser;
+
+ HBufC8* iXmlParam;
+
+ CDirectPrintUiPluginMgr* iPluginMgr;
+ };
+
+#endif // __DIRECTPRINTAPPAPPUI_H__
+
+// End of File
+
--- a/DirectPrint/DirectPrintApp/inc/directprintappdocument.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintappdocument.h Tue May 11 14:10:02 2010 +0800
@@ -1,111 +1,111 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTAPPDOCUMENT_h__
-#define __DIRECTPRINTAPPDOCUMENT_h__
-
-// System includes
-#include <akndoc.h>
-
-// Forward declarations
-class CDirectPrintAppAppUi;
-class CEikApplication;
-
-// Class declaration
-class CDirectPrintModel;
-
-/**
- * CDirectPrintAppDocument application class.
- * An instance of class CDirectPrintAppDocument is the Document part of the
- * AVKON application framework for the DirectPrintApp example application.
- */
-class CDirectPrintAppDocument : public CAknDocument
- {
-public:
- // Constructors and destructor
-
- /**
- * NewL.
- * Two-phased constructor.
- * Construct a CDirectPrintAppDocument for the AVKON application aApp
- * using two phase construction, and return a pointer
- * to the created object.
- * @param aApp Application creating this document.
- * @return A pointer to the created instance of CDirectPrintAppDocument.
- */
- static CDirectPrintAppDocument* NewL(CEikApplication& aApp);
-
- /**
- * NewLC.
- * Two-phased constructor.
- * Construct a CDirectPrintAppDocument for the AVKON application aApp
- * using two phase construction, and return a pointer
- * to the created object.
- * @param aApp Application creating this document.
- * @return A pointer to the created instance of CDirectPrintAppDocument.
- */
- static CDirectPrintAppDocument* NewLC(CEikApplication& aApp);
-
- /**
- * ~CDirectPrintAppDocument
- * Virtual Destructor.
- */
- virtual ~CDirectPrintAppDocument();
-
-public:
- // Functions from base classes
-
- /**
- * CreateAppUiL
- * From CEikDocument, CreateAppUiL.
- * Create a CDirectPrintAppAppUi object and return a pointer to it.
- * The object returned is owned by the Uikon framework.
- * @return Pointer to created instance of AppUi.
- */
- CEikAppUi* CreateAppUiL();
-public:
- // New functions
- CDirectPrintModel& Model();
-
-private:
- // Constructors
-
- /**
- * ConstructL
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * CDirectPrintAppDocument.
- * C++ default constructor.
- * @param aApp Application creating this document.
- */
- CDirectPrintAppDocument(CEikApplication& aApp);
-
-
-private:
- /** Model class */
- CDirectPrintModel* iModel;
-
-
- };
-
-#endif // __DIRECTPRINTAPPDOCUMENT_h__
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTAPPDOCUMENT_h__
+#define __DIRECTPRINTAPPDOCUMENT_h__
+
+// System includes
+#include <akndoc.h>
+
+// Forward declarations
+class CDirectPrintAppAppUi;
+class CEikApplication;
+
+// Class declaration
+class CDirectPrintModel;
+
+/**
+ * CDirectPrintAppDocument application class.
+ * An instance of class CDirectPrintAppDocument is the Document part of the
+ * AVKON application framework for the DirectPrintApp example application.
+ */
+class CDirectPrintAppDocument : public CAknDocument
+ {
+public:
+ // Constructors and destructor
+
+ /**
+ * NewL.
+ * Two-phased constructor.
+ * Construct a CDirectPrintAppDocument for the AVKON application aApp
+ * using two phase construction, and return a pointer
+ * to the created object.
+ * @param aApp Application creating this document.
+ * @return A pointer to the created instance of CDirectPrintAppDocument.
+ */
+ static CDirectPrintAppDocument* NewL(CEikApplication& aApp);
+
+ /**
+ * NewLC.
+ * Two-phased constructor.
+ * Construct a CDirectPrintAppDocument for the AVKON application aApp
+ * using two phase construction, and return a pointer
+ * to the created object.
+ * @param aApp Application creating this document.
+ * @return A pointer to the created instance of CDirectPrintAppDocument.
+ */
+ static CDirectPrintAppDocument* NewLC(CEikApplication& aApp);
+
+ /**
+ * ~CDirectPrintAppDocument
+ * Virtual Destructor.
+ */
+ virtual ~CDirectPrintAppDocument();
+
+public:
+ // Functions from base classes
+
+ /**
+ * CreateAppUiL
+ * From CEikDocument, CreateAppUiL.
+ * Create a CDirectPrintAppAppUi object and return a pointer to it.
+ * The object returned is owned by the Uikon framework.
+ * @return Pointer to created instance of AppUi.
+ */
+ CEikAppUi* CreateAppUiL();
+public:
+ // New functions
+ CDirectPrintModel& Model();
+
+private:
+ // Constructors
+
+ /**
+ * ConstructL
+ * 2nd phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * CDirectPrintAppDocument.
+ * C++ default constructor.
+ * @param aApp Application creating this document.
+ */
+ CDirectPrintAppDocument(CEikApplication& aApp);
+
+
+private:
+ /** Model class */
+ CDirectPrintModel* iModel;
+
+
+ };
+
+#endif // __DIRECTPRINTAPPDOCUMENT_h__
+// End of File
--- a/DirectPrint/DirectPrintApp/inc/directprintbearerdata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintbearerdata.h Tue May 11 14:10:02 2010 +0800
@@ -1,87 +1,87 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTBEARERDATA_H__
-#define __DIRECTPRINTBEARERDATA_H__
-
-// System includes
-#include <e32base.h>
-#include <in_sock.h>
-
-// User includes
-#include "DirectPrintDef.h"
-
-// Forward declarations
-class RReadStream;
-class RWriteStream;
-
-// Class declaration
-/**
- * Bearer data class
- * more_complete_description
- */
-class TDirectPrintBearerData
- {
-public:
- /**
- * Internalize operation.
- *
- * @param aStream ReadStream.
- */
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- * Externalize operation.
- *
- * @param aStream WriteStream.
- */
- IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
-
- /**
- * Substitution operator.
- *
- * @param aData Bearer data.
- * @return Bearer data.
- */
- IMPORT_C TDirectPrintBearerData& operator=(const TDirectPrintBearerData& aData);
-
-public:
- /** The ID of printer data. */
- TInt iPrinterId;
- /** The ID of bearer data. */
- TInt iBearerId;
- /** Name of bearer. */
- TBuf<KDirectPrintNameLength> iBearerName;
- /** AccessPoint. */
- TBuf<KDirectPrintNameLength> iAccessPoint;
- /** HostName. */
- TBuf<KDirectPrintNameLength> iHostName;
- /** IPAddress of host. */
- TInetAddr iHostIp;
- /** Number of port. */
- TInt iPort;
- /** UserName. */
- TBuf<KDirectPrintNameLength> iUserName;
- /** Name of que. */
- TBuf<KDirectPrintNameLength> iQueName;
- };
-
-typedef RArray<TDirectPrintBearerData> RDPBearerDataArray;
-
-#endif // __DIRECTPRINTBEARERDATA_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTBEARERDATA_H__
+#define __DIRECTPRINTBEARERDATA_H__
+
+// System includes
+#include <e32base.h>
+#include <in_sock.h>
+
+// User includes
+#include "DirectPrintDef.h"
+
+// Forward declarations
+class RReadStream;
+class RWriteStream;
+
+// Class declaration
+/**
+ * Bearer data class
+ * more_complete_description
+ */
+class TDirectPrintBearerData
+ {
+public:
+ /**
+ * Internalize operation.
+ *
+ * @param aStream ReadStream.
+ */
+ IMPORT_C void InternalizeL(RReadStream& aStream);
+
+ /**
+ * Externalize operation.
+ *
+ * @param aStream WriteStream.
+ */
+ IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
+
+ /**
+ * Substitution operator.
+ *
+ * @param aData Bearer data.
+ * @return Bearer data.
+ */
+ IMPORT_C TDirectPrintBearerData& operator=(const TDirectPrintBearerData& aData);
+
+public:
+ /** The ID of printer data. */
+ TInt iPrinterId;
+ /** The ID of bearer data. */
+ TInt iBearerId;
+ /** Name of bearer. */
+ TBuf<KDirectPrintNameLength> iBearerName;
+ /** AccessPoint. */
+ TBuf<KDirectPrintNameLength> iAccessPoint;
+ /** HostName. */
+ TBuf<KDirectPrintNameLength> iHostName;
+ /** IPAddress of host. */
+ TInetAddr iHostIp;
+ /** Number of port. */
+ TInt iPort;
+ /** UserName. */
+ TBuf<KDirectPrintNameLength> iUserName;
+ /** Name of que. */
+ TBuf<KDirectPrintNameLength> iQueName;
+ };
+
+typedef RArray<TDirectPrintBearerData> RDPBearerDataArray;
+
+#endif // __DIRECTPRINTBEARERDATA_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintbearermgr.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintbearermgr.h Tue May 11 14:10:02 2010 +0800
@@ -1,130 +1,130 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTBEARERMGR_H__
-#define __DIRECTPRINTBEARERMGR_H__
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "directprintbearermngobserver.h"
-#include "directprintclient.h"
-#include "directprintjobguarddata.h"
-
-// Forward declarations
-class CDirectPrintModel;
-class CDirectPrintPrintSettings;
-
-// Class declaration
-/**
- * Bearer manager class
- * more_complete_description
- */
-class CDirectPrintBearerMgr : public CActive
- {
-public:
- /** Status of bearer manager */
- enum TBearerMngStatus
- {
- EBearerMngNotConnected = 0, // (0)
- EBearerMngConnected, // (1)
- EBearerMngCreatingJob, // (2)
- EBearerMngPrinting, // (3)
- EBearerMngClosing, // (4)
- EBearerMngCanceling, // (5)
- };
-
-public:
- /** Constructors */
- static CDirectPrintBearerMgr* NewL(MDirectPrintBearerMngObserver* aObserver,
- CDirectPrintModel& aModel);
- static CDirectPrintBearerMgr* NewLC(MDirectPrintBearerMngObserver* aObserver,
- CDirectPrintModel& aModel);
- /** Destructor */
- ~CDirectPrintBearerMgr();
-
-public:
- /**
- * Create print job.
- */
- void CreateJobL();
- /**
- * Submit print job.
- */
- void SubmitPrintJobL();
- /**
- * Close session.
- */
- void CloseSession();
-
- /**
- * Get status of bearer manager.
- *
- * @return Status of bearer manager
- */
- TBearerMngStatus BearerStatus();
-
- TInt SupportedProtocols();
-
- TInt GetProtocolNames(RSelectItemArray& aNames);
-
- void InitCapabilitiesL(TInt aIndex);
-
- TInt GetJobSetting(TInt aCapabilityID, TInt& aValue);
-
- TInt SetJobSetting(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability);
-
- void SetJobSettings();
-
- CDirectPrintPrintSettings* PrinterSettingsL();
-
-protected:
- CDirectPrintBearerMgr(MDirectPrintBearerMngObserver* aObserver,
- CDirectPrintModel& aModel);
- void ConstructL();
-
-private: // from CActive
-
- void RunL();
- void DoCancel();
-
-private:
- void SetBearerStatus(TBearerMngStatus aStatus);
-
- TInt CreatePrinterUid(TInt aIndex);
-
-private:
- /** Pointer to bearer manager observer. */
- MDirectPrintBearerMngObserver* iObserver;
- /** Bearer object. */
- RDirectPrintClient iBearer;
- /** Job guard data. */
- TDirectPrintJobGuardData iJobGuardData;
- /** Reference to model class. */
- CDirectPrintModel& iModel;
-
- /** Status of bearer manager. */
- TBearerMngStatus iBearerStatus;
-
- /** Printer settings. */
- CDirectPrintPrintSettings* iPrintSettings;
- };
-
-#endif // __DIRECTPRINTBEARERMGR_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTBEARERMGR_H__
+#define __DIRECTPRINTBEARERMGR_H__
+
+// System includes
+#include <e32base.h>
+
+// User includes
+#include "directprintbearermngobserver.h"
+#include "directprintclient.h"
+#include "directprintjobguarddata.h"
+
+// Forward declarations
+class CDirectPrintModel;
+class CDirectPrintPrintSettings;
+
+// Class declaration
+/**
+ * Bearer manager class
+ * more_complete_description
+ */
+class CDirectPrintBearerMgr : public CActive
+ {
+public:
+ /** Status of bearer manager */
+ enum TBearerMngStatus
+ {
+ EBearerMngNotConnected = 0, // (0)
+ EBearerMngConnected, // (1)
+ EBearerMngCreatingJob, // (2)
+ EBearerMngPrinting, // (3)
+ EBearerMngClosing, // (4)
+ EBearerMngCanceling, // (5)
+ };
+
+public:
+ /** Constructors */
+ static CDirectPrintBearerMgr* NewL(MDirectPrintBearerMngObserver* aObserver,
+ CDirectPrintModel& aModel);
+ static CDirectPrintBearerMgr* NewLC(MDirectPrintBearerMngObserver* aObserver,
+ CDirectPrintModel& aModel);
+ /** Destructor */
+ ~CDirectPrintBearerMgr();
+
+public:
+ /**
+ * Create print job.
+ */
+ void CreateJobL();
+ /**
+ * Submit print job.
+ */
+ void SubmitPrintJobL();
+ /**
+ * Close session.
+ */
+ void CloseSession();
+
+ /**
+ * Get status of bearer manager.
+ *
+ * @return Status of bearer manager
+ */
+ TBearerMngStatus BearerStatus();
+
+ TInt SupportedProtocols();
+
+ TInt GetProtocolNames(RSelectItemArray& aNames);
+
+ void InitCapabilitiesL(TInt aIndex);
+
+ TInt GetJobSetting(TInt aCapabilityID, TInt& aValue);
+
+ TInt SetJobSetting(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability);
+
+ void SetJobSettings();
+
+ CDirectPrintPrintSettings* PrinterSettingsL();
+
+protected:
+ CDirectPrintBearerMgr(MDirectPrintBearerMngObserver* aObserver,
+ CDirectPrintModel& aModel);
+ void ConstructL();
+
+private: // from CActive
+
+ void RunL();
+ void DoCancel();
+
+private:
+ void SetBearerStatus(TBearerMngStatus aStatus);
+
+ TInt CreatePrinterUid(TInt aIndex);
+
+private:
+ /** Pointer to bearer manager observer. */
+ MDirectPrintBearerMngObserver* iObserver;
+ /** Bearer object. */
+ RDirectPrintClient iBearer;
+ /** Job guard data. */
+ TDirectPrintJobGuardData iJobGuardData;
+ /** Reference to model class. */
+ CDirectPrintModel& iModel;
+
+ /** Status of bearer manager. */
+ TBearerMngStatus iBearerStatus;
+
+ /** Printer settings. */
+ CDirectPrintPrintSettings* iPrintSettings;
+ };
+
+#endif // __DIRECTPRINTBEARERMGR_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintbearermngobserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintbearermngobserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,117 +1,117 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTBEARERMNGOBSERVER_H__
-#define __DIRECTPRINTBEARERMNGOBSERVER_H__
-
-// System includes
-#include <e32base.h>
-
-// Class declaration
-/**
- * Bearer manager observer mix-in class
- * more_complete_description
- */
-class MDirectPrintBearerMngObserver
- {
-public:
- /** The ID of bearer event. */
- enum TDirectPrintBearerMngEvents
- {
- EDirectPrintBearerMngErrorConnectBearer,
- EDirectPrintBearerMngConnectedBearer,
- // add any events, if needed
-
- // end of event
- EDirectPrintBearerMngEventEnd
- };
-
-public:
- /**
- * Handles user events.
- * @param aEvent The ID of the event.
- * @param aError Error code.
- * @param aParam Parameter.
- */
- virtual void HandleBearerMngEventL(
- TDirectPrintBearerMngEvents aEvent,
- TInt aError,
- const TDesC& aParam) = 0;
-
- /**
- * Handles user events.
- * @param aStatus The ID of the status.
- * @param aPercentCompletion Percentage of progress.
- * @param aJobStateCode The ID of job states.
- */
- virtual void PrintJobProgressEvent( TInt aStatus,
- TInt aPercentCompletion,
- TInt aJobStateCode ) = 0;
-
- /**
- * Handles user events.
- * @param aError The ID of the error.
- * @param aErrorStringCode The ID of error strings.
- */
- virtual void PrintJobErrorEvent( TInt aError,
- TInt aErrorStringCode ) = 0;
-
- /**
- * Handles user events.
- * @param aError The ID of the error.
- * @param aErrorStringCode The ID of error strings.
- */
- virtual void PrinterStatusEvent( TInt aError,
- TInt aErrorStringCode ) = 0;
-
- /**
- * Handles user events.
- * @param aFsBitmapHandle The Handle of the bitmap.
- */
- virtual void PreviewImageEvent( TInt aFsBitmapHandle ) = 0;
-
- /**
- * Show messages.
- * @param aMsgLine1Code The ID of message.
- * @param aMsgLine2Code The ID of message.
- */
- virtual void ShowMessageL( TInt aMsgLine1Code,
- TInt aMsgLine2Code ) = 0;
-
- /**
- * Show Yes/No question.
- * @param aMsgLine1Code The ID of message.
- * @param aMsgLine2Code The ID of message.
- * @return ETrue is Yes. EFalse is No.
- */
- virtual TBool AskYesNoQuestionL( TInt aMsgLine1Code,
- TInt aMsgLine2Code ) = 0;
-
- /**
- * input.
- * @param aMsgLine1Code The ID of message.
- * @param aMsgLine2Code The ID of message.
- * @return Inputed strings.
- */
- virtual const TDesC& AskForInputL( TInt aMsgLine1Code,
- TInt aMsgLine2Code ) = 0;
- };
-
-#endif // __DIRECTPRINTBEARERMNGOBSERVER_H__
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTBEARERMNGOBSERVER_H__
+#define __DIRECTPRINTBEARERMNGOBSERVER_H__
+
+// System includes
+#include <e32base.h>
+
+// Class declaration
+/**
+ * Bearer manager observer mix-in class
+ * more_complete_description
+ */
+class MDirectPrintBearerMngObserver
+ {
+public:
+ /** The ID of bearer event. */
+ enum TDirectPrintBearerMngEvents
+ {
+ EDirectPrintBearerMngErrorConnectBearer,
+ EDirectPrintBearerMngConnectedBearer,
+ // add any events, if needed
+
+ // end of event
+ EDirectPrintBearerMngEventEnd
+ };
+
+public:
+ /**
+ * Handles user events.
+ * @param aEvent The ID of the event.
+ * @param aError Error code.
+ * @param aParam Parameter.
+ */
+ virtual void HandleBearerMngEventL(
+ TDirectPrintBearerMngEvents aEvent,
+ TInt aError,
+ const TDesC& aParam) = 0;
+
+ /**
+ * Handles user events.
+ * @param aStatus The ID of the status.
+ * @param aPercentCompletion Percentage of progress.
+ * @param aJobStateCode The ID of job states.
+ */
+ virtual void PrintJobProgressEvent( TInt aStatus,
+ TInt aPercentCompletion,
+ TInt aJobStateCode ) = 0;
+
+ /**
+ * Handles user events.
+ * @param aError The ID of the error.
+ * @param aErrorStringCode The ID of error strings.
+ */
+ virtual void PrintJobErrorEvent( TInt aError,
+ TInt aErrorStringCode ) = 0;
+
+ /**
+ * Handles user events.
+ * @param aError The ID of the error.
+ * @param aErrorStringCode The ID of error strings.
+ */
+ virtual void PrinterStatusEvent( TInt aError,
+ TInt aErrorStringCode ) = 0;
+
+ /**
+ * Handles user events.
+ * @param aFsBitmapHandle The Handle of the bitmap.
+ */
+ virtual void PreviewImageEvent( TInt aFsBitmapHandle ) = 0;
+
+ /**
+ * Show messages.
+ * @param aMsgLine1Code The ID of message.
+ * @param aMsgLine2Code The ID of message.
+ */
+ virtual void ShowMessageL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code ) = 0;
+
+ /**
+ * Show Yes/No question.
+ * @param aMsgLine1Code The ID of message.
+ * @param aMsgLine2Code The ID of message.
+ * @return ETrue is Yes. EFalse is No.
+ */
+ virtual TBool AskYesNoQuestionL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code ) = 0;
+
+ /**
+ * input.
+ * @param aMsgLine1Code The ID of message.
+ * @param aMsgLine2Code The ID of message.
+ * @return Inputed strings.
+ */
+ virtual const TDesC& AskForInputL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code ) = 0;
+ };
+
+#endif // __DIRECTPRINTBEARERMNGOBSERVER_H__
+// End of file
--- a/DirectPrint/DirectPrintApp/inc/directprintdef.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintdef.h Tue May 11 14:10:02 2010 +0800
@@ -1,27 +1,27 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTDEF_H__
-#define __DIRECTPRINTDEF_H__
-
-//Constants
-/** Max length of string data. */
-const TInt KDirectPrintNameLength = 50;
-
-#endif // __DIRECTPRINTDEF_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTDEF_H__
+#define __DIRECTPRINTDEF_H__
+
+//Constants
+/** Max length of string data. */
+const TInt KDirectPrintNameLength = 50;
+
+#endif // __DIRECTPRINTDEF_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintmodel.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintmodel.h Tue May 11 14:10:02 2010 +0800
@@ -1,319 +1,319 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* This model class for DirectPrint data managemrnt
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTMODEL_H__
-#define __DIRECTPRINTMODEL_H__
-
-// System includes
-#include <e32base.h>
-#include <f32file.h>
-#include <prninf.h>
-
-// User includes
-#include "directprintprinterdata.h"
-#include "directprintbearerdata.h"
-#include "directprintpropertydata.h"
-#include "directprintproperty.h"
-
-// Forward declarations
-class CDirectPrintPrinterInfoReader;
-
-// Class declaration
-/**
- * Model class
- * more_complete_description
- */
-class CDirectPrintModel : public CBase
- {
-public:
- /** Constructors */
- static CDirectPrintModel* NewL();
- static CDirectPrintModel* NewLC();
- /** Destructor */
- ~CDirectPrintModel();
-
- /**
- * Initialize data.
- */
- void InitializeDataL();
- /**
- * Internalize data.
- */
- void InternalizeDataL();
- /**
- * Externalize data.
- */
- void ExternalizeDataL();
-
- /**
- * Get printer data.
- *
- * @param aIndex The index of data array.
- * @param aData printer data
- */
- void GetPrinterDataL(TInt aIndex, TDirectPrintPrinterData& aData);
- /**
- * Get bearer data.
- *
- * @param aIndex The index of data array.
- * @param aData bearer data
- */
- void GetBearerDataL(TInt aIndex, TDirectPrintBearerData& aData);
- /**
- * Get current bearer data.
- *
- * @param aData bearer data
- */
- void GetCurrentBearerDataL(TDirectPrintBearerData& aData);
- /**
- * Get selected bearer data.
- *
- * @param aData bearer data
- */
- void GetSelectedBearerDataL(TDirectPrintBearerData& aData);
- /**
- * Get property data.
- *
- * @param aIndex The index of data array.
- * @return property data
- */
- CPrinterProperty* GetPrinterPropertyL(TInt aIndex);
- /**
- * Get current property data.
- *
- * @param aAppUid Application UID.
- * @return property data
- */
- CPrinterProperty* GetCurrentPrinterPropertyL(TUid aAppUid);
- /**
- * Get the id of current printer data.
- *
- * @return The id of printer data
- */
- TInt GetCurrentPrinterIdL();
- /**
- * Get the index of current printer data.
- *
- * @return The index of data array.
- */
- TInt CurrentPrinter();
- /**
- * Get the index of current bearer data.
- *
- * @return The index of data array.
- */
- TInt CurrentBearer();
- /**
- * Get the index of current property data.
- *
- * @return The index of data array.
- */
- TInt CurrentProperty();
- /**
- * Get the index of selected printer data.
- *
- * @return The index of data array.
- */
- TInt SelectPrinter();
- /**
- * Get the count of printer data.
- *
- * @return The count of data.
- */
- TInt PrinterCount();
- /**
- * Get the count of bearer data.
- *
- * @return The count of data.
- */
- TInt BearerCount();
- /**
- * Get the count of property data.
- *
- * @return The count of data.
- */
- TInt PropertyCount();
-
- /**
- * Set printer data.
- *
- * @param aIndex The index of data array.
- * @param aData printer data
- */
- void SetPrinterDataL(TInt aIndex, const TDirectPrintPrinterData& aData);
- /**
- * Set printer data.
- *
- * @param aData printer data
- */
- void SetPrinterDataL(const TDirectPrintPrinterData& aData);
- /**
- * Set bearer data.
- *
- * @param aIndex The index of data array.
- * @param aData bearer data
- */
- void SetBearerDataL(TInt aIndex, const TDirectPrintBearerData& aData);
- /**
- * Set bearer data.
- *
- * @param aData bearer data
- */
- void SetBearerDataL(const TDirectPrintBearerData& aData);
- /**
- * Set property data.
- *
- * @param aIndex The index of data array.
- * @param aProperty property data
- */
- void SetPrinterPropertyL(TInt aIndex, CPrinterProperty* aProperty);
- /**
- * Set property data.
- *
- * @param aProperty property data
- */
- void SetPrinterPropertyL(CPrinterProperty* aProperty);
- /**
- * Set the index of current printer data.
- *
- * @param aIndex The index of data array.
- */
- void SetCurrentPrinter(TInt aIndex);
- /**
- * Set the index of current bearer data.
- *
- * @param aIndex The index of data array.
- */
- void SetCurrentBearer(TInt aIndex);
- /**
- * Set the index of current property data.
- *
- * @param aIndex The index of data array.
- */
- void SetCurrentProperty(TInt aIndex);
- /**
- * Set the index of selected printer data.
- *
- * @param aIndex The index of data array.
- */
- void SetSelectPrinter(TInt aIndex);
-
- /**
- * Add printer data.
- *
- * @param aData printer data
- */
- void AddPrinterDataL(const TDirectPrintPrinterData& aData);
- /**
- * Add bearer data.
- *
- * @param aData bearer data
- */
- void AddBearerDataL(const TDirectPrintBearerData& aData);
- /**
- * Add property data.
- *
- * @param aProperty property data
- */
- void AddPrinterPropertyL(CPrinterProperty* aProperty);
-
- /**
- * Remove printer data from data array.
- *
- * @param aIndex The index of data array.
- */
- void RemovePrinterDataL(TInt aIndex);
- /**
- * Remove bearer data from data array.
- *
- * @param aIndex The index of data array.
- */
- void RemoveBearerDataL(TInt aIndex);
- /**
- * Remove property data from data array.
- *
- * @param aIndex The index of data array.
- */
- void RemovePrinterPropertyL(TInt aIndex);
-
- /**
- * Move printer data to top of data array.
- *
- * @param aIndex The index of data array.
- */
- void MoveTopPrinterDataL(TInt aIndex);
-
- /**
- * Get new data flag.
- *
- * @return new data flag.
- */
- inline TBool IsNewData() {return iIsNewData;};
- /**
- * Set new data flag.
- *
- * @param aFlag new data flag.
- */
- inline void SetIsNewData(TBool aFlag) {iIsNewData = aFlag;};
- /**
- * Generate new printer id.
- *
- * @return new data flag.
- */
- inline TInt NewPrinterId() {return ++iMaxPrinterId;};
-
- /**
- * Get uid of plugin.
- *
- * @return uid of plugin.
- */
- TUid SettingUIPluginUidL();
-
-protected:
- CDirectPrintModel();
- void ConstructL();
-
-private:
- /** File server session. */
- RFs iFs;
-
- /** Printer data Array. */
- RDPPrinterDataArray iPrinters;
- /** Bearer data Array. */
- RDPBearerDataArray iBearers;
- /** Property data Array. */
- RPrinterPropertyArray iProperties;
- /** The index of current printer data. */
- TInt iCurrentPrinter;
- /** The index of current bearer datay. */
- TInt iCurrentBearer;
- /** The index of current property data. */
- TInt iCurrentProperty;
- /** The index of selected printer data. */
- TInt iSelectPrinter;
-
- /** New data flag. */
- TBool iIsNewData;
- /** Printer id. */
- TInt iMaxPrinterId;
-
- CDirectPrintPrinterInfoReader* iPrinterInfoReader;
- };
-
-#endif // __DIRECTPRINTMODEL_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* This model class for DirectPrint data managemrnt
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTMODEL_H__
+#define __DIRECTPRINTMODEL_H__
+
+// System includes
+#include <e32base.h>
+#include <f32file.h>
+#include <prninf.h>
+
+// User includes
+#include "directprintprinterdata.h"
+#include "directprintbearerdata.h"
+#include "directprintpropertydata.h"
+#include "directprintproperty.h"
+
+// Forward declarations
+class CDirectPrintPrinterInfoReader;
+
+// Class declaration
+/**
+ * Model class
+ * more_complete_description
+ */
+class CDirectPrintModel : public CBase
+ {
+public:
+ /** Constructors */
+ static CDirectPrintModel* NewL();
+ static CDirectPrintModel* NewLC();
+ /** Destructor */
+ ~CDirectPrintModel();
+
+ /**
+ * Initialize data.
+ */
+ void InitializeDataL();
+ /**
+ * Internalize data.
+ */
+ void InternalizeDataL();
+ /**
+ * Externalize data.
+ */
+ void ExternalizeDataL();
+
+ /**
+ * Get printer data.
+ *
+ * @param aIndex The index of data array.
+ * @param aData printer data
+ */
+ void GetPrinterDataL(TInt aIndex, TDirectPrintPrinterData& aData);
+ /**
+ * Get bearer data.
+ *
+ * @param aIndex The index of data array.
+ * @param aData bearer data
+ */
+ void GetBearerDataL(TInt aIndex, TDirectPrintBearerData& aData);
+ /**
+ * Get current bearer data.
+ *
+ * @param aData bearer data
+ */
+ void GetCurrentBearerDataL(TDirectPrintBearerData& aData);
+ /**
+ * Get selected bearer data.
+ *
+ * @param aData bearer data
+ */
+ void GetSelectedBearerDataL(TDirectPrintBearerData& aData);
+ /**
+ * Get property data.
+ *
+ * @param aIndex The index of data array.
+ * @return property data
+ */
+ CPrinterProperty* GetPrinterPropertyL(TInt aIndex);
+ /**
+ * Get current property data.
+ *
+ * @param aAppUid Application UID.
+ * @return property data
+ */
+ CPrinterProperty* GetCurrentPrinterPropertyL(TUid aAppUid);
+ /**
+ * Get the id of current printer data.
+ *
+ * @return The id of printer data
+ */
+ TInt GetCurrentPrinterIdL();
+ /**
+ * Get the index of current printer data.
+ *
+ * @return The index of data array.
+ */
+ TInt CurrentPrinter();
+ /**
+ * Get the index of current bearer data.
+ *
+ * @return The index of data array.
+ */
+ TInt CurrentBearer();
+ /**
+ * Get the index of current property data.
+ *
+ * @return The index of data array.
+ */
+ TInt CurrentProperty();
+ /**
+ * Get the index of selected printer data.
+ *
+ * @return The index of data array.
+ */
+ TInt SelectPrinter();
+ /**
+ * Get the count of printer data.
+ *
+ * @return The count of data.
+ */
+ TInt PrinterCount();
+ /**
+ * Get the count of bearer data.
+ *
+ * @return The count of data.
+ */
+ TInt BearerCount();
+ /**
+ * Get the count of property data.
+ *
+ * @return The count of data.
+ */
+ TInt PropertyCount();
+
+ /**
+ * Set printer data.
+ *
+ * @param aIndex The index of data array.
+ * @param aData printer data
+ */
+ void SetPrinterDataL(TInt aIndex, const TDirectPrintPrinterData& aData);
+ /**
+ * Set printer data.
+ *
+ * @param aData printer data
+ */
+ void SetPrinterDataL(const TDirectPrintPrinterData& aData);
+ /**
+ * Set bearer data.
+ *
+ * @param aIndex The index of data array.
+ * @param aData bearer data
+ */
+ void SetBearerDataL(TInt aIndex, const TDirectPrintBearerData& aData);
+ /**
+ * Set bearer data.
+ *
+ * @param aData bearer data
+ */
+ void SetBearerDataL(const TDirectPrintBearerData& aData);
+ /**
+ * Set property data.
+ *
+ * @param aIndex The index of data array.
+ * @param aProperty property data
+ */
+ void SetPrinterPropertyL(TInt aIndex, CPrinterProperty* aProperty);
+ /**
+ * Set property data.
+ *
+ * @param aProperty property data
+ */
+ void SetPrinterPropertyL(CPrinterProperty* aProperty);
+ /**
+ * Set the index of current printer data.
+ *
+ * @param aIndex The index of data array.
+ */
+ void SetCurrentPrinter(TInt aIndex);
+ /**
+ * Set the index of current bearer data.
+ *
+ * @param aIndex The index of data array.
+ */
+ void SetCurrentBearer(TInt aIndex);
+ /**
+ * Set the index of current property data.
+ *
+ * @param aIndex The index of data array.
+ */
+ void SetCurrentProperty(TInt aIndex);
+ /**
+ * Set the index of selected printer data.
+ *
+ * @param aIndex The index of data array.
+ */
+ void SetSelectPrinter(TInt aIndex);
+
+ /**
+ * Add printer data.
+ *
+ * @param aData printer data
+ */
+ void AddPrinterDataL(const TDirectPrintPrinterData& aData);
+ /**
+ * Add bearer data.
+ *
+ * @param aData bearer data
+ */
+ void AddBearerDataL(const TDirectPrintBearerData& aData);
+ /**
+ * Add property data.
+ *
+ * @param aProperty property data
+ */
+ void AddPrinterPropertyL(CPrinterProperty* aProperty);
+
+ /**
+ * Remove printer data from data array.
+ *
+ * @param aIndex The index of data array.
+ */
+ void RemovePrinterDataL(TInt aIndex);
+ /**
+ * Remove bearer data from data array.
+ *
+ * @param aIndex The index of data array.
+ */
+ void RemoveBearerDataL(TInt aIndex);
+ /**
+ * Remove property data from data array.
+ *
+ * @param aIndex The index of data array.
+ */
+ void RemovePrinterPropertyL(TInt aIndex);
+
+ /**
+ * Move printer data to top of data array.
+ *
+ * @param aIndex The index of data array.
+ */
+ void MoveTopPrinterDataL(TInt aIndex);
+
+ /**
+ * Get new data flag.
+ *
+ * @return new data flag.
+ */
+ inline TBool IsNewData() {return iIsNewData;};
+ /**
+ * Set new data flag.
+ *
+ * @param aFlag new data flag.
+ */
+ inline void SetIsNewData(TBool aFlag) {iIsNewData = aFlag;};
+ /**
+ * Generate new printer id.
+ *
+ * @return new data flag.
+ */
+ inline TInt NewPrinterId() {return ++iMaxPrinterId;};
+
+ /**
+ * Get uid of plugin.
+ *
+ * @return uid of plugin.
+ */
+ TUid SettingUIPluginUidL();
+
+protected:
+ CDirectPrintModel();
+ void ConstructL();
+
+private:
+ /** File server session. */
+ RFs iFs;
+
+ /** Printer data Array. */
+ RDPPrinterDataArray iPrinters;
+ /** Bearer data Array. */
+ RDPBearerDataArray iBearers;
+ /** Property data Array. */
+ RPrinterPropertyArray iProperties;
+ /** The index of current printer data. */
+ TInt iCurrentPrinter;
+ /** The index of current bearer datay. */
+ TInt iCurrentBearer;
+ /** The index of current property data. */
+ TInt iCurrentProperty;
+ /** The index of selected printer data. */
+ TInt iSelectPrinter;
+
+ /** New data flag. */
+ TBool iIsNewData;
+ /** Printer id. */
+ TInt iMaxPrinterId;
+
+ CDirectPrintPrinterInfoReader* iPrinterInfoReader;
+ };
+
+#endif // __DIRECTPRINTMODEL_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintmsgutil.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintmsgutil.h Tue May 11 14:10:02 2010 +0800
@@ -1,57 +1,57 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* This class is the message utility class of DirectPrint
-*
-*/
-
-#ifndef __DIRECTPRINTMSGUTIL_H__
-#define __DIRECTPRINTMSGUTIL_H__
-
-// System includes
-#include <e32base.h>
-#include <f32file.h>
-
-// User includes
-
-// Forward declarations
-
-// Class declaration
-/**
- * one_line_short_description
- * more_complete_description
- *
- */
-class CDirectPrintMsgUtil : public CBase
- {
-public:
- static CDirectPrintMsgUtil* NewL();
- static CDirectPrintMsgUtil* NewLC();
- ~CDirectPrintMsgUtil();
-
- /**
- * Displays error note
- * @param aResourceId Resource id for note text.
- */
- static void DisplayErrorNoteL( TInt aResourceId );
-
-protected:
- CDirectPrintMsgUtil();
- void ConstructL();
-
-private:
- };
-
-#endif // __DIRECTPRINTMSGUTIL_H__
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* This class is the message utility class of DirectPrint
+*
+*/
+
+#ifndef __DIRECTPRINTMSGUTIL_H__
+#define __DIRECTPRINTMSGUTIL_H__
+
+// System includes
+#include <e32base.h>
+#include <f32file.h>
+
+// User includes
+
+// Forward declarations
+
+// Class declaration
+/**
+ * one_line_short_description
+ * more_complete_description
+ *
+ */
+class CDirectPrintMsgUtil : public CBase
+ {
+public:
+ static CDirectPrintMsgUtil* NewL();
+ static CDirectPrintMsgUtil* NewLC();
+ ~CDirectPrintMsgUtil();
+
+ /**
+ * Displays error note
+ * @param aResourceId Resource id for note text.
+ */
+ static void DisplayErrorNoteL( TInt aResourceId );
+
+protected:
+ CDirectPrintMsgUtil();
+ void ConstructL();
+
+private:
+ };
+
+#endif // __DIRECTPRINTMSGUTIL_H__
+// End of file
--- a/DirectPrint/DirectPrintApp/inc/directprintprinterdata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintprinterdata.h Tue May 11 14:10:02 2010 +0800
@@ -1,80 +1,80 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPRINTERDATA_H__
-#define __DIRECTPRINTPRINTERDATA_H__
-
-// System includes
-#include <e32cmn.h>
-
-// User includes
-#include "DirectPrintDef.h"
-
-// Forward declarations
-class RReadStream;
-class RWriteStream;
-
-// Class declaration
-/**
- * Printer data class
- * more_complete_description
- */
-class TDirectPrintPrinterData
- {
-public:
- /**
- * Internalize operation.
- *
- * @param aStream ReadStream.
- */
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- * Externalize operation.
- *
- * @param aStream WriteStream.
- */
- IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
-
- /**
- * Substitution operator.
- *
- * @param aData Printer data.
- * @return Printer data.
- */
- IMPORT_C TDirectPrintPrinterData& operator=(const TDirectPrintPrinterData& aData);
-
-public:
- /** The ID of printer data. */
- TInt iPrinterId;
- /** Name of printer. */
- TBuf<KDirectPrintNameLength> iPrinterName;
- /** The UID of printer driver. */
- TUid iPrinterDriver;
- /** Name of printer driver. */
- TBuf<KDirectPrintNameLength> iDriverName;
- /** The ID of printer type. */
- TInt iPrinterType;
- /** Name of printer type. */
- TBuf<KDirectPrintNameLength> iTypeName;
- };
-
-typedef RArray<TDirectPrintPrinterData> RDPPrinterDataArray;
-
-#endif // __DIRECTPRINTPRINTERDATA_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPRINTERDATA_H__
+#define __DIRECTPRINTPRINTERDATA_H__
+
+// System includes
+#include <e32cmn.h>
+
+// User includes
+#include "DirectPrintDef.h"
+
+// Forward declarations
+class RReadStream;
+class RWriteStream;
+
+// Class declaration
+/**
+ * Printer data class
+ * more_complete_description
+ */
+class TDirectPrintPrinterData
+ {
+public:
+ /**
+ * Internalize operation.
+ *
+ * @param aStream ReadStream.
+ */
+ IMPORT_C void InternalizeL(RReadStream& aStream);
+
+ /**
+ * Externalize operation.
+ *
+ * @param aStream WriteStream.
+ */
+ IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
+
+ /**
+ * Substitution operator.
+ *
+ * @param aData Printer data.
+ * @return Printer data.
+ */
+ IMPORT_C TDirectPrintPrinterData& operator=(const TDirectPrintPrinterData& aData);
+
+public:
+ /** The ID of printer data. */
+ TInt iPrinterId;
+ /** Name of printer. */
+ TBuf<KDirectPrintNameLength> iPrinterName;
+ /** The UID of printer driver. */
+ TUid iPrinterDriver;
+ /** Name of printer driver. */
+ TBuf<KDirectPrintNameLength> iDriverName;
+ /** The ID of printer type. */
+ TInt iPrinterType;
+ /** Name of printer type. */
+ TBuf<KDirectPrintNameLength> iTypeName;
+ };
+
+typedef RArray<TDirectPrintPrinterData> RDPPrinterDataArray;
+
+#endif // __DIRECTPRINTPRINTERDATA_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintprinterinforeader.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintprinterinforeader.h Tue May 11 14:10:02 2010 +0800
@@ -1,71 +1,71 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* Printer information reader class
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPRINTERINFOREADER_H__
-#define __DIRECTPRINTPRINTERINFOREADER_H__
-
-// System includes
-#include <e32base.h>
-#include <xmlengdocument.h> // RXmlEngDocument
-#include <xmlengdomparser.h> // RXmlEngDOMParser
-#include <xmlengdomimplementation.h> // RXmlEngDOMImplementation
-
-// User includes
-
-// Forward declarations
-class CDirectPrintModel;
-
-// Class declaration
-/**
- * Printer information reader class
- * more_complete_description
- */
-class CDirectPrintPrinterInfoReader : public CBase
- {
-public:
- /** Constructors */
- static CDirectPrintPrinterInfoReader* NewL(CDirectPrintModel& aModel);
- static CDirectPrintPrinterInfoReader* NewLC(CDirectPrintModel& aModel);
- /** Destructor */
- ~CDirectPrintPrinterInfoReader();
-
- void ReadPrinterInfoL();
-
- void GetManufactureL(TDes& aManufacture);
- TUid GetDriverL(TDesC& aId);
- TUid GetSettingUIPluginL(TDesC& aId);
-
-protected:
- CDirectPrintPrinterInfoReader(CDirectPrintModel& aModel);
- void ConstructL();
-
-private:
- void ReadXmlDataL(const TDesC& aParam);
- TBool CheckManufactureL(const TDesC& aParam);
-
-private:
- // Model object
- CDirectPrintModel& iModel;
-
- RXmlEngDocument iXmlEngDoc;
- RXmlEngDOMImplementation iXmlDomImpl;
- RXmlEngDOMParser iXmlParser;
- };
-
-#endif // __DIRECTPRINTPRINTERINFOREADER_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Printer information reader class
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPRINTERINFOREADER_H__
+#define __DIRECTPRINTPRINTERINFOREADER_H__
+
+// System includes
+#include <e32base.h>
+#include <xmlengdocument.h> // RXmlEngDocument
+#include <xmlengdomparser.h> // RXmlEngDOMParser
+#include <xmlengdomimplementation.h> // RXmlEngDOMImplementation
+
+// User includes
+
+// Forward declarations
+class CDirectPrintModel;
+
+// Class declaration
+/**
+ * Printer information reader class
+ * more_complete_description
+ */
+class CDirectPrintPrinterInfoReader : public CBase
+ {
+public:
+ /** Constructors */
+ static CDirectPrintPrinterInfoReader* NewL(CDirectPrintModel& aModel);
+ static CDirectPrintPrinterInfoReader* NewLC(CDirectPrintModel& aModel);
+ /** Destructor */
+ ~CDirectPrintPrinterInfoReader();
+
+ void ReadPrinterInfoL();
+
+ void GetManufactureL(TDes& aManufacture);
+ TUid GetDriverL(TDesC& aId);
+ TUid GetSettingUIPluginL(TDesC& aId);
+
+protected:
+ CDirectPrintPrinterInfoReader(CDirectPrintModel& aModel);
+ void ConstructL();
+
+private:
+ void ReadXmlDataL(const TDesC& aParam);
+ TBool CheckManufactureL(const TDesC& aParam);
+
+private:
+ // Model object
+ CDirectPrintModel& iModel;
+
+ RXmlEngDocument iXmlEngDoc;
+ RXmlEngDOMImplementation iXmlDomImpl;
+ RXmlEngDOMParser iXmlParser;
+ };
+
+#endif // __DIRECTPRINTPRINTERINFOREADER_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintproperty.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintproperty.h Tue May 11 14:10:02 2010 +0800
@@ -1,78 +1,78 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPROPERTY_H__
-#define __DIRECTPRINTPROPERTY_H__
-
-// System includes
-#include <e32base.h>
-#include <e32cmn.h>
-
-// User includes
-#include "DirectPrintDef.h"
-#include "directprintpropertydata.h"
-
-// Class declaration
-/**
- * Printer property class
- * more_complete_description
- */
-class CPrinterProperty : public CBase
- {
-public:
- /** Constructors */
- IMPORT_C CPrinterProperty();
- /** Destructor */
- IMPORT_C ~CPrinterProperty();
-
-public:
- /**
- * Internalize operation.
- *
- * @param aStream ReadStream.
- */
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- * Externalize operation.
- *
- * @param aStream WriteStream.
- */
- IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
-
- /**
- * Substitution operator.
- *
- * @param aProperty Printer property.
- * @return Printer property.
- */
- IMPORT_C CPrinterProperty& operator=(const CPrinterProperty& aProperty);
-
-public:
- /** The ID of printer data. */
- TInt iPrinterId;
- /** The ID of application. */
- TInt iApplicationId;
- /** Printer property data array. */
- RDPPropertyDataArray iPropertyItems;
- };
-
-typedef RPointerArray<CPrinterProperty> RPrinterPropertyArray;
-
-#endif // __DIRECTPRINTPROPERTY_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPROPERTY_H__
+#define __DIRECTPRINTPROPERTY_H__
+
+// System includes
+#include <e32base.h>
+#include <e32cmn.h>
+
+// User includes
+#include "DirectPrintDef.h"
+#include "directprintpropertydata.h"
+
+// Class declaration
+/**
+ * Printer property class
+ * more_complete_description
+ */
+class CPrinterProperty : public CBase
+ {
+public:
+ /** Constructors */
+ IMPORT_C CPrinterProperty();
+ /** Destructor */
+ IMPORT_C ~CPrinterProperty();
+
+public:
+ /**
+ * Internalize operation.
+ *
+ * @param aStream ReadStream.
+ */
+ IMPORT_C void InternalizeL(RReadStream& aStream);
+
+ /**
+ * Externalize operation.
+ *
+ * @param aStream WriteStream.
+ */
+ IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
+
+ /**
+ * Substitution operator.
+ *
+ * @param aProperty Printer property.
+ * @return Printer property.
+ */
+ IMPORT_C CPrinterProperty& operator=(const CPrinterProperty& aProperty);
+
+public:
+ /** The ID of printer data. */
+ TInt iPrinterId;
+ /** The ID of application. */
+ TInt iApplicationId;
+ /** Printer property data array. */
+ RDPPropertyDataArray iPropertyItems;
+ };
+
+typedef RPointerArray<CPrinterProperty> RPrinterPropertyArray;
+
+#endif // __DIRECTPRINTPROPERTY_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintpropertydata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintpropertydata.h Tue May 11 14:10:02 2010 +0800
@@ -1,127 +1,127 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPROPERTYDATA_H__
-#define __DIRECTPRINTPROPERTYDATA_H__
-
-// System includes
-#include <e32base.h>
-#include <e32cmn.h>
-
-// User includes
-#include "DirectPrintDef.h"
-
-// Class declaration
-/**
- * Printer property data class
- * more_complete_description
- */
-class TDirectPrintPropertyData
- {
-public:
- /**
- * Internalize operation.
- *
- * @param aStream ReadStream.
- */
- inline void InternalizeL(RReadStream& aStream);
-
- /**
- * Externalize operation.
- *
- * @param aStream WriteStream.
- */
- inline void ExternalizeL(RWriteStream& aStream)const;
-
- /**
- * Substitution operator.
- *
- * @param aData Printer property data.
- * @return Printer property data.
- */
- inline TDirectPrintPropertyData& operator=(const TDirectPrintPropertyData& aData);
-
-public:
- /** The ID of printer data. */
- TInt iPrinterId;
- /** The ID of application. */
- TInt iApplicationId;
- /** The ID of item type. */
- TInt iItemType;
- /** The ID of item. */
- TInt iItemId;
- /** Name of item. */
- TBuf<KDirectPrintNameLength> iItemName;
- /** Numerical value. */
- TInt iItemValue;
- /** Text value. */
- TBuf<KDirectPrintNameLength> iItemTextValue;
- };
-
-typedef RArray<TDirectPrintPropertyData> RDPPropertyDataArray;
-
-
-
-inline void TDirectPrintPropertyData::InternalizeL(RReadStream& aStream)
- {
- iItemType = aStream.ReadInt32L();
- iItemId = aStream.ReadInt32L();
- TInt length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iItemName, length);
- }
- iItemValue = aStream.ReadInt32L();
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iItemTextValue, length);
- }
- }
-
-inline void TDirectPrintPropertyData::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt32L(iItemType);
- aStream.WriteInt32L(iItemId);
- aStream.WriteInt32L(iItemName.Length());
- if (iItemName.Length() > 0)
- {
- aStream.WriteL(iItemName);
- }
- aStream.WriteInt32L(iItemValue);
- aStream.WriteInt32L(iItemTextValue.Length());
- if (iItemTextValue.Length() > 0)
- {
- aStream.WriteL(iItemTextValue);
- }
- }
-
-inline TDirectPrintPropertyData& TDirectPrintPropertyData::operator=(const TDirectPrintPropertyData& aData)
- {
- iPrinterId = aData.iPrinterId;
- iApplicationId = aData.iApplicationId;
- iItemType = aData.iItemType;
- iItemId = aData.iItemId;
- iItemName.Copy(aData.iItemName);
- iItemValue = aData.iItemValue;
- iItemTextValue.Copy(aData.iItemTextValue);
- return *this;
- }
-
-#endif // __DIRECTPRINTPROPERTYDATA_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPROPERTYDATA_H__
+#define __DIRECTPRINTPROPERTYDATA_H__
+
+// System includes
+#include <e32base.h>
+#include <e32cmn.h>
+
+// User includes
+#include "DirectPrintDef.h"
+
+// Class declaration
+/**
+ * Printer property data class
+ * more_complete_description
+ */
+class TDirectPrintPropertyData
+ {
+public:
+ /**
+ * Internalize operation.
+ *
+ * @param aStream ReadStream.
+ */
+ inline void InternalizeL(RReadStream& aStream);
+
+ /**
+ * Externalize operation.
+ *
+ * @param aStream WriteStream.
+ */
+ inline void ExternalizeL(RWriteStream& aStream)const;
+
+ /**
+ * Substitution operator.
+ *
+ * @param aData Printer property data.
+ * @return Printer property data.
+ */
+ inline TDirectPrintPropertyData& operator=(const TDirectPrintPropertyData& aData);
+
+public:
+ /** The ID of printer data. */
+ TInt iPrinterId;
+ /** The ID of application. */
+ TInt iApplicationId;
+ /** The ID of item type. */
+ TInt iItemType;
+ /** The ID of item. */
+ TInt iItemId;
+ /** Name of item. */
+ TBuf<KDirectPrintNameLength> iItemName;
+ /** Numerical value. */
+ TInt iItemValue;
+ /** Text value. */
+ TBuf<KDirectPrintNameLength> iItemTextValue;
+ };
+
+typedef RArray<TDirectPrintPropertyData> RDPPropertyDataArray;
+
+
+
+inline void TDirectPrintPropertyData::InternalizeL(RReadStream& aStream)
+ {
+ iItemType = aStream.ReadInt32L();
+ iItemId = aStream.ReadInt32L();
+ TInt length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iItemName, length);
+ }
+ iItemValue = aStream.ReadInt32L();
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iItemTextValue, length);
+ }
+ }
+
+inline void TDirectPrintPropertyData::ExternalizeL(RWriteStream& aStream) const
+ {
+ aStream.WriteInt32L(iItemType);
+ aStream.WriteInt32L(iItemId);
+ aStream.WriteInt32L(iItemName.Length());
+ if (iItemName.Length() > 0)
+ {
+ aStream.WriteL(iItemName);
+ }
+ aStream.WriteInt32L(iItemValue);
+ aStream.WriteInt32L(iItemTextValue.Length());
+ if (iItemTextValue.Length() > 0)
+ {
+ aStream.WriteL(iItemTextValue);
+ }
+ }
+
+inline TDirectPrintPropertyData& TDirectPrintPropertyData::operator=(const TDirectPrintPropertyData& aData)
+ {
+ iPrinterId = aData.iPrinterId;
+ iApplicationId = aData.iApplicationId;
+ iItemType = aData.iItemType;
+ iItemId = aData.iItemId;
+ iItemName.Copy(aData.iItemName);
+ iItemValue = aData.iItemValue;
+ iItemTextValue.Copy(aData.iItemTextValue);
+ return *this;
+ }
+
+#endif // __DIRECTPRINTPROPERTYDATA_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintselectitem.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintselectitem.h Tue May 11 14:10:02 2010 +0800
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTSELECTITEM_H__
-#define __DIRECTPRINTSELECTITEM_H__
-
-// System includes
-#include <e32cmn.h>
-
-// Class declaration
-/**
- * Select item information class
- * more_complete_description
- */
-class TDirectPrintSelectItem
- {
-public:
- /** Id. */
- TInt iId;
- /** Name. */
- TBuf<50> iName;
- };
-
-typedef RArray<TDirectPrintSelectItem> RSelectItemArray;
-
-#endif // __DIRECTPRINTSELECTITEM_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTSELECTITEM_H__
+#define __DIRECTPRINTSELECTITEM_H__
+
+// System includes
+#include <e32cmn.h>
+
+// Class declaration
+/**
+ * Select item information class
+ * more_complete_description
+ */
+class TDirectPrintSelectItem
+ {
+public:
+ /** Id. */
+ TInt iId;
+ /** Name. */
+ TBuf<50> iName;
+ };
+
+typedef RArray<TDirectPrintSelectItem> RSelectItemArray;
+
+#endif // __DIRECTPRINTSELECTITEM_H__
--- a/DirectPrint/DirectPrintApp/inc/directprintuipluginmgr.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/inc/directprintuipluginmgr.h Tue May 11 14:10:02 2010 +0800
@@ -1,78 +1,78 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef _DIRECTPRINTUIPLUGINMGR_H_
-#define _DIRECTPRINTUIPLUGINMGR_H_
-
-// System includes
-#include <e32base.h>
-#include <implementationproxy.h>
-
-// Forward declarations
-class CDirectPrintModel;
-class CDirectPrintUiPlugin;
-
-// Class declaration
-/**
- * UiPrugin manager class
- * more_complete_description
- */
-class CDirectPrintUiPluginMgr : public CBase
- {
-public:
- /** Constructors */
- static CDirectPrintUiPluginMgr* NewL(CDirectPrintModel& aModel);
- static CDirectPrintUiPluginMgr* NewLC(CDirectPrintModel& aModel);
- /** Destructor */
- ~CDirectPrintUiPluginMgr();
-
-public:
- /**
- * Load plugin object.
- *
- * @param aUid The Uid of plugin.
- */
- void LoadPluginL(TUid aUid);
- /**
- * Load plugin object.
- *
- * @param aKey default_data string.
- */
- void LoadPluginL(const TDesC8& aKey);
- /**
- * Get current plugin object.
- *
- * @return Pointer to plugin object.
- */
- CDirectPrintUiPlugin* CurrentPluginL();
-
-protected:
- CDirectPrintUiPluginMgr(CDirectPrintModel& aModel);
- void ConstructL();
-
-private:
- /** Reference to model class. */
- CDirectPrintModel& iModel;
- /** Pointer to plugin. */
- CDirectPrintUiPlugin* iPlugin;
- /** Uid of current plugin. */
- TUid iCurrentPluginUid;
- };
-
-#endif // _DIRECTPRINTUIPLUGINMGR_H_
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef _DIRECTPRINTUIPLUGINMGR_H_
+#define _DIRECTPRINTUIPLUGINMGR_H_
+
+// System includes
+#include <e32base.h>
+#include <implementationproxy.h>
+
+// Forward declarations
+class CDirectPrintModel;
+class CDirectPrintUiPlugin;
+
+// Class declaration
+/**
+ * UiPrugin manager class
+ * more_complete_description
+ */
+class CDirectPrintUiPluginMgr : public CBase
+ {
+public:
+ /** Constructors */
+ static CDirectPrintUiPluginMgr* NewL(CDirectPrintModel& aModel);
+ static CDirectPrintUiPluginMgr* NewLC(CDirectPrintModel& aModel);
+ /** Destructor */
+ ~CDirectPrintUiPluginMgr();
+
+public:
+ /**
+ * Load plugin object.
+ *
+ * @param aUid The Uid of plugin.
+ */
+ void LoadPluginL(TUid aUid);
+ /**
+ * Load plugin object.
+ *
+ * @param aKey default_data string.
+ */
+ void LoadPluginL(const TDesC8& aKey);
+ /**
+ * Get current plugin object.
+ *
+ * @return Pointer to plugin object.
+ */
+ CDirectPrintUiPlugin* CurrentPluginL();
+
+protected:
+ CDirectPrintUiPluginMgr(CDirectPrintModel& aModel);
+ void ConstructL();
+
+private:
+ /** Reference to model class. */
+ CDirectPrintModel& iModel;
+ /** Pointer to plugin. */
+ CDirectPrintUiPlugin* iPlugin;
+ /** Uid of current plugin. */
+ TUid iCurrentPluginUid;
+ };
+
+#endif // _DIRECTPRINTUIPLUGINMGR_H_
--- a/DirectPrint/DirectPrintApp/sis/backup_registration.xml Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/sis/backup_registration.xml Tue May 11 14:10:02 2010 +0800
@@ -1,5 +1,5 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration>
- <system_backup/>
- <restore requires_reboot = "no"/>
-</backup_registration>
+<?xml version="1.0" standalone="yes"?>
+<backup_registration>
+ <system_backup/>
+ <restore requires_reboot = "no"/>
+</backup_registration>
--- a/DirectPrint/DirectPrintApp/sis/directprintapp_1_0_0.pkg Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/sis/directprintapp_1_0_0.pkg Tue May 11 14:10:02 2010 +0800
@@ -1,37 +1,37 @@
-; Installation file for DirectPrintApp application
-;
-; This is an auto-generated PKG file by Carbide.
-; This file uses variables specific to Carbide builds that will not work
-; on command-line builds. If you want to use this generated PKG file from the
-; command-line tools you will need to modify the variables with the appropriate
-; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"DirectPrintApp"},(0x2002BB28),1,0,0
-
-;Localised Vendor name
-%{"Vendor-EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-;Supports Series 60 v 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-;Files to install
-;You should change the source paths to match that of your environment
-;<source> <destination>
-"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\DirectPrintApp.exe" -"!:\sys\bin\DirectPrintApp.exe"
-"$(EPOCROOT)Epoc32\data\z\resource\apps\DirectPrintApp.rsc" -"!:\resource\apps\DirectPrintApp.rsc"
-"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\DirectPrintApp_reg.rsc" -"!:\private\10003a3f\import\apps\DirectPrintApp_reg.rsc"
-"$(EPOCROOT)Epoc32\data\z\resource\apps\DirectPrintApp.mif" -"!:\resource\apps\DirectPrintApp.mif"
-"..\help\DirectPrintApp.hlp" -"!:\resource\help\DirectPrintApp.hlp"
-
-; Add any installation notes if applicable
-;"DirectPrintApp.txt" -"!:\private\2002BB28\DirectPrintApp.txt"
-
-;required for application to be covered by backup/restore facility
-"..\sis\backup_registration.xml" -"!:\private\2002BB28\backup_registration.xml"
+; Installation file for DirectPrintApp application
+;
+; This is an auto-generated PKG file by Carbide.
+; This file uses variables specific to Carbide builds that will not work
+; on command-line builds. If you want to use this generated PKG file from the
+; command-line tools you will need to modify the variables with the appropriate
+; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
+;
+;Language - standard language definitions
+&EN
+
+; standard SIS file header
+#{"DirectPrintApp"},(0x2002BB28),1,0,0
+
+;Localised Vendor name
+%{"Vendor-EN"}
+
+;Unique Vendor name
+:"Vendor"
+
+;Supports Series 60 v 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+
+;Files to install
+;You should change the source paths to match that of your environment
+;<source> <destination>
+"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\DirectPrintApp.exe" -"!:\sys\bin\DirectPrintApp.exe"
+"$(EPOCROOT)Epoc32\data\z\resource\apps\DirectPrintApp.rsc" -"!:\resource\apps\DirectPrintApp.rsc"
+"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\DirectPrintApp_reg.rsc" -"!:\private\10003a3f\import\apps\DirectPrintApp_reg.rsc"
+"$(EPOCROOT)Epoc32\data\z\resource\apps\DirectPrintApp.mif" -"!:\resource\apps\DirectPrintApp.mif"
+"..\help\DirectPrintApp.hlp" -"!:\resource\help\DirectPrintApp.hlp"
+
+; Add any installation notes if applicable
+;"DirectPrintApp.txt" -"!:\private\2002BB28\DirectPrintApp.txt"
+
+;required for application to be covered by backup/restore facility
+"..\sis\backup_registration.xml" -"!:\private\2002BB28\backup_registration.xml"
--- a/DirectPrint/DirectPrintApp/src/directprintapp.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintapp.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,31 +1,31 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <eikstart.h>
-#include "DirectPrintAppApplication.h"
-
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CDirectPrintAppApplication;
- }
-
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication(NewApplication);
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <eikstart.h>
+#include "DirectPrintAppApplication.h"
+
+LOCAL_C CApaApplication* NewApplication()
+ {
+ return new CDirectPrintAppApplication;
+ }
+
+GLDEF_C TInt E32Main()
+ {
+ return EikStart::RunApplication(NewApplication);
+ }
+
--- a/DirectPrint/DirectPrintApp/src/directprintappapplication.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintappapplication.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include "DirectPrintApp.hrh"
-#include "DirectPrintAppDocument.h"
-#include "DirectPrintAppApplication.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppApplication::CreateDocumentL()
-// Creates CApaDocument object
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CDirectPrintAppApplication::CreateDocumentL()
- {
- // Create an DirectPrintApp document, and return a pointer to it
- return CDirectPrintAppDocument::NewL(*this);
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppApplication::AppDllUid()
-// Returns application UID
-// -----------------------------------------------------------------------------
-//
-TUid CDirectPrintAppApplication::AppDllUid() const
- {
- // Return the UID for the DirectPrintApp application
- return KUidDirectPrintAppApp;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include "DirectPrintApp.hrh"
+#include "DirectPrintAppDocument.h"
+#include "DirectPrintAppApplication.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppApplication::CreateDocumentL()
+// Creates CApaDocument object
+// -----------------------------------------------------------------------------
+//
+CApaDocument* CDirectPrintAppApplication::CreateDocumentL()
+ {
+ // Create an DirectPrintApp document, and return a pointer to it
+ return CDirectPrintAppDocument::NewL(*this);
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppApplication::AppDllUid()
+// Returns application UID
+// -----------------------------------------------------------------------------
+//
+TUid CDirectPrintAppApplication::AppDllUid() const
+ {
+ // Return the UID for the DirectPrintApp application
+ return KUidDirectPrintAppApp;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/src/directprintappappui.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintappappui.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,665 +1,665 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <avkon.hrh>
-#include <aknnotewrappers.h>
-#include <akntabgrp.h>
-#include <barsread.h>
-#include <stringloader.h>
-#include <DirectPrintApp.rsg>
-#include <f32file.h>
-#include <s32file.h>
-#include <f32file.h>
-#include <aiwmenu.h> // CAiwGenericParamList
-
-//not use #include <featmgr.h> // FeatureManager
-
-#include <xmlengdomparser.h> // RXmlEngDOMParser
-#include <xmlengdomimplementation.h> // RXmlEngDOMImplementation
-#include <xmlengerrors.h>
-
-// Start ImagePrint Provide
-#include "imageprint.h"
-#include "printmessagecodes.h"
-// End ImagePrint Provide
-
-#include "clog.h"
-#include "aiwprintproperty.h"
-
-#include "directprintapp.pan"
-#include "directprintappappui.h"
-#include "directprintapp.hrh"
-#include "directprintappdocument.h"
-#include "directprintmodel.h"
-
-#include "directprintmainview.h"
-#include "directprintlistview.h"
-#include "directprintsettingview.h"
-#include "directprintpreviewview.h"
-#include "directprintpropertyview.h"
-#include "directprintsearchresultview.h"
-#include "directprintengine.h"
-#include "directprintbearermgr.h"
-#include "directprintmsgutil.h"
-#include "directprintuipluginmgr.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppAppUi::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::ConstructL()
- {
- LOG("CDirectPrintAppAppUi::ConstructL BEGIN");
- // Initialise app UI with standard value.
- //BaseConstructL( EAknEnableSkin | EAknEnableMSK );
- BaseConstructL( EAknEnableSkin );
-
-//not use FeatureManager::InitializeLibL();
-
- iDoc = static_cast<CDirectPrintAppDocument*>( CAknAppUi::Document() );
-
- TRAPD( err, InitializeEngineL() );
- if ( err == KErrInUse )
- {
- LOG1("InitializeEngineL Error [%d]", err);
- CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PRINT_IN_USE);
- Exit();
- }
- else
- {
- User::LeaveIfError( err );
- }
-
- TRAP( err, InitializeBearerMngL() );
- if ( err == KErrInUse || err == KErrAlreadyExists )
- {
- LOG1("InitializeBearerMngL Error [%d]", err);
- CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PRINT_IN_USE);
- Exit();
- }
- else
- {
- User::LeaveIfError( err );
- }
-
- InitializePluginMgrL();
-
- LOG("CDirectPrintAppAppUi::ConstructL StatusPane...");
- CEikStatusPane* statusPane = StatusPane();
- CAknNavigationControlContainer* naviPane = (CAknNavigationControlContainer*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
- {
- TResourceReader reader;
- iCoeEnv->CreateResourceReaderLC(reader, R_DIRECTPRINT_PROPERTYSETTING_NAVI_DECORATOR);
- iNaviDecorator = naviPane->ConstructNavigationDecoratorFromResourceL(reader);
- CleanupStack::PopAndDestroy();
- }
- CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(iNaviDecorator->DecoratedControl());
- tabGroup->SetObserver(this);
-
- LOG("CDirectPrintAppAppUi::ConstructL aiw param...");
- // aiw param
- iAiwState = ENotAiwCall;
- TInt r = iAiwCall.Attach(KPrintPropertyCat,EPrintProperty,EOwnerProcess);
- if (r == KErrNone)
- {
- iAiwCall.Get(KPrintPropertyCat,EPrintProperty,iAiwState);
- }
-
- if ( iAiwState == EAiwPrintCall )
- {
- // Set the aiw call RProperty key back to default value so that
- // if application for some reason crashes the value is not left for AIW mode.
- iAiwCall.Set( KPrintPropertyCat,EPrintProperty, ENotAiwCall );
- TRAP( err, LoadParamL() );
- if ( err != KErrNone )
- {
- CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PARAM_INCORRECT);
- Exit();
- }
- }
-
- LOG("CDirectPrintAppAppUi::ConstructL InitializeViewsL...");
- InitializeViewsL();
-
- iCoeEnv->RootWin().EnableScreenChangeEvents();
-
- LOG("CDirectPrintAppAppUi::ConstructL END");
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppAppUi::CDirectPrintAppAppUi()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintAppAppUi::CDirectPrintAppAppUi()
- {
- // No implementation required
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppAppUi::~CDirectPrintAppAppUi()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintAppAppUi::~CDirectPrintAppAppUi()
- {
-//not use FeatureManager::UnInitializeLib();
-
- if (iXmlEngDoc.NotNull())
- {
- iXmlEngDoc.Close(); // closing all opened objects
- iXmlParser.Close();
- iXmlDomImpl.Close();
- }
- delete iXmlParam;
- delete iEngine;
- delete iBearerMgr;
- delete iPluginMgr;
- delete iNaviDecorator;
- iAiwCall.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppAppUi::HandleCommandL()
-// Takes care of command handling.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::HandleCommandL( TInt aCommand )
- {
- LOG1("CDirectPrintAppAppUi::HandleCommandL(%d) BEGIN", aCommand);
- switch( aCommand )
- {
- case EEikCmdExit:
- case EAknSoftkeyExit:
- case EDirectPrintCmdIdMainViewExit:
- {
- LOG1("BearerStatu=%d", iBearerMgr->BearerStatus());
-
- TBool isPrinting = EFalse;
- switch (iBearerMgr->BearerStatus())
- {
- case CDirectPrintBearerMgr::EBearerMngCreatingJob:
- case CDirectPrintBearerMgr::EBearerMngPrinting:
- isPrinting = ETrue;
- break;
- case CDirectPrintBearerMgr::EBearerMngClosing:
- case CDirectPrintBearerMgr::EBearerMngCanceling:
- case CDirectPrintBearerMgr::EBearerMngNotConnected:
- case CDirectPrintBearerMgr::EBearerMngConnected:
- default:
- isPrinting = EFalse;
- break;
- }
-
- if (!isPrinting)
- {
- iDoc->Model().ExternalizeDataL();
- Exit();
- }
- else
- {
- // Show information message
- HBufC* textResource = StringLoader::LoadLC(R_DIRECTPRINT_MSG_NOW_PRINTING);
- CAknInformationNote* informationNote;
- informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(*textResource);
- CleanupStack::PopAndDestroy(textResource);
- }
- }
- break;
- case EDirectPrintCmdIdMainViewPrint:
- case EDirectPrintCmdIdPropertySettingViewPrint:
- case EDirectPrintCmdIdPreviewViewPrint:
- {
- MakeNaviPaneVisibleL(EFalse);
- //TInt modelcount = iEngine->ModelCount();
- iEngine->SetUseModel(0);
- iEngine->PrintL();
- }
- break;
- case EDirectPrintCmdIdMainViewPreview:
- case EDirectPrintCmdIdPropertySettingViewPreview:
- {
- TVwsViewId id;
- GetActiveViewId(id);
- iBackViewUid = id.iViewUid;
- //MakeStatusPaneVisible(EFalse);
- MakeNaviPaneVisibleL(EFalse);
- ActivateLocalViewL(TUid::Uid(EDirectPrintPreviewViewId));
- }
- break;
- case EDirectPrintCmdIdMainViewPropertySetting:
- {
- if (iDoc->Model().PrinterCount() > 0)
- {
- CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(iNaviDecorator->DecoratedControl());
- tabGroup->SetActiveTabByIndex(0);
- // tabGroup->SetActiveTabByIndex(1);
- MakeNaviPaneVisibleL(ETrue);
- // ActivateLocalViewL(TUid::Uid(EDirectPrintPropertySetting1ViewId));
- // ActivateLocalViewL(TUid::Uid(EDirectPrintPropertySetting2ViewId));
- ActivateLocalViewL(TUid::Uid(EDirectPrintPropertyViewId));
- }
- }
- break;
- case EDirectPrintCmdIdMainViewPrinterList:
- {
- MakeNaviPaneVisibleL(EFalse);
- ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
- }
- break;
- case EDirectPrintCmdIdPrinterSettingViewBack:
- {
- if (iBackViewUid != TUid::Uid(0))
- {
- ActivateLocalViewL(iBackViewUid);
- iBackViewUid = TUid::Uid(0);
- }
- else
- {
- ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
- }
- }
- break;
- case EDirectPrintCmdIdMainViewPrinterSetting:
- case EDirectPrintCmdIdPrinterListViewNew:
- case EDirectPrintCmdIdPrinterListViewEdit:
- {
- if ((iDoc->Model().PrinterCount() > 0) || (iDoc->Model().IsNewData()))
- {
- TVwsViewId id;
- GetActiveViewId(id);
- iBackViewUid = id.iViewUid;
- MakeNaviPaneVisibleL(EFalse);
- ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterSettingViewId));
- }
- }
- break;
- case EDirectPrintCmdIdPrinterListViewDone:
- case EDirectPrintCmdIdPropertySettingViewBack:
- {
- MakeNaviPaneVisibleL(EFalse);
- ActivateLocalViewL(TUid::Uid(EDirectPrintMainViewId));
- }
- break;
- case EDirectPrintCmdIdPrinterListViewSearch:
- {
- // Start printer search
- //SearchPrinterL();
- ActivateLocalViewL(TUid::Uid(EDirectPrintSearchResultViewId));
- }
- break;
- case EDirectPrintCmdIdSearchResultViewSearch:
- {
- // Start printer search
- //SearchPrinterL();
- }
- break;
- case EDirectPrintCmdIdSearchResultViewSelect:
- case EDirectPrintCmdIdSearchResultViewCancel:
- {
- ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
- }
- break;
- case EDirectPrintCmdIdPreviewViewBack:
- {
- MakeStatusPaneVisible(ETrue);
- if (iBackViewUid != TUid::Uid(0))
- {
- if (iBackViewUid != TUid::Uid(EDirectPrintMainViewId))
- {
- MakeNaviPaneVisibleL(ETrue);
- }
- ActivateLocalViewL(iBackViewUid);
- iBackViewUid = TUid::Uid(0);
- }
- else
- {
- ActivateLocalViewL(TUid::Uid(EDirectPrintMainViewId));
- }
- }
- break;
- case EDirectPrintCmdIdPrinterListViewDelete:
- default:
- break;
- }
- LOG("CDirectPrintAppAppUi::HandleCommandL END");
- }
-
-void CDirectPrintAppAppUi::HandleResourceChangeL( TInt aType )
- {
- // base-class call also
- CAknAppUi::HandleResourceChangeL(aType);
- if (aType == KEikDynamicLayoutVariantSwitch)
- {
- }
- }
-
-void CDirectPrintAppAppUi::TabChangedL(TInt aIndex)
- {
- TVwsViewId id;
- GetActiveViewId(id);
- if (id.iViewUid.iUid == EDirectPrintPropertyViewId)
- {
- CDirectPrintPropertyView* view = static_cast<CDirectPrintPropertyView*>(View(id.iViewUid));
- view->ChangeTabL(aIndex);
- }
- }
-
-void CDirectPrintAppAppUi::MakeNaviPaneVisibleL(TBool aVisible)
- {
- CEikStatusPane* statusPane = StatusPane();
- CAknNavigationControlContainer* naviPane = (CAknNavigationControlContainer*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
-
- if (aVisible)
- {
- naviPane->PushL(*iNaviDecorator);
- }
- else
- {
- naviPane->Pop(iNaviDecorator);
- }
- }
-
-void CDirectPrintAppAppUi::MakeStatusPaneVisible(TBool aVisible)
- {
- CEikStatusPane* statusPane = StatusPane();
- statusPane->MakeVisible(aVisible);
- }
-
-void CDirectPrintAppAppUi::InitializeViewsL()
- {
- LOG("CDirectPrintAppAppUi::InitializeViewsL begin");
- // Create view
- LOG("-->CDirectPrintMainView");
- CDirectPrintMainView* view1 = CDirectPrintMainView::NewL();
- CleanupStack::PushL(view1);
- AddViewL(view1);
- CleanupStack::Pop(view1);
-
- LOG("-->CDirectPrintListView");
- CDirectPrintListView* view2 = CDirectPrintListView::NewL();
- CleanupStack::PushL(view2);
- AddViewL(view2);
- CleanupStack::Pop(view2);
-
- LOG("-->CDirectPrintSearchResultView");
- CDirectPrintSearchResultView* view3 = CDirectPrintSearchResultView::NewL();
- AddViewL(view3);
-
- LOG("-->CDirectPrintPrinterSettingView");
- CDirectPrintPrinterSettingView* view4 = CDirectPrintPrinterSettingView::NewL();
- CleanupStack::PushL(view4);
- AddViewL(view4);
- CleanupStack::Pop(view4);
-
- LOG("-->CDirectPrintPreviewView");
- CDirectPrintPreviewView* view5 = CDirectPrintPreviewView::NewL();
- CleanupStack::PushL(view5);
- AddViewL(view5);
- CleanupStack::Pop(view5);
-
- LOG("-->CDirectPrintPropertyView");
- CDirectPrintPropertyView* view6 = CDirectPrintPropertyView::NewL();
- CleanupStack::PushL(view6);
- AddViewL(view6);
- CleanupStack::Pop(view6);
-
- // Check plugins. Create view, if extended view exists.
-
- SetDefaultViewL( *view1 );
-
- iBackViewUid = TUid::Uid(0);
- LOG("CDirectPrintAppAppUi::InitializeViewsL end");
- }
-
-
-void CDirectPrintAppAppUi::LoadParamL()
- {
- // get the xml parameter from AIW provider
- // after that iXmlEngDoc is set in the function.
- GetParamFromAiwProviderL();
- // set the xml param to the engine side, and
- // the adapted band plugin is loaded and the xml
- // parameter is sent to the plugin.
- iEngine->SetParamL(&iXmlEngDoc);
- }
-
-void CDirectPrintAppAppUi::GetParamFromAiwProviderL()
- {
- LOG("CDirectPrintAppAppUi::GetParamFromAiwProviderL() BEGIN");
-
- RFileReadStream readStream;
- TFileName paramFile;
- _LIT( KParamFile, "c:\\system\\data\\T_AIW_TEMP.DAT");
- paramFile.Copy(KParamFile);
-
- User::LeaveIfError( readStream.Open(iCoeEnv->FsSession(), paramFile, EFileRead) );
- readStream.PushL();
- CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC(readStream);
-
- TInt index( 0 );
- const TAiwGenericParam* param = paramList->FindFirst(index,
- EGenericParamPrintXMLFile,
- EVariantTypeDesC8);
- TPtrC8 ptrParam = param->Value().AsData();
- if ( ptrParam.Length() == 0)
- {
- User::Leave(KErrArgument);
- }
-
- // set file name
- iXmlParam = ptrParam.AllocL();
-
- // parse XML param
- // opening DOM implementation object
- iXmlDomImpl.OpenL();
- // opening parser object
- User::LeaveIfError(iXmlParser.Open( iXmlDomImpl ));
- // ParseL return KXmlEngErrParsing
- iXmlEngDoc =iXmlParser.ParseL( *iXmlParam ); // parsing buffer
-
- CleanupStack::PopAndDestroy(paramList); //paramList
- readStream.Close();
- readStream.Pop();
- LOG("CDirectPrintAppAppUi::GetParamFromAiwProviderL() END");
- }
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppAppUi::InitializeEngineL()
-// Initialize print engine.
-// ---------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::InitializeEngineL()
- {
- iEngine = CDirectPrintEngine::NewL(iDoc->Model());
- iEngine->SetObserver(this);
- }
-
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppAppUi::HandlePrintEventL()
-// Handle the events from engine side
-// ---------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::HandlePrintEventL(
- TDirectPrintEngineEvents aEvent,
- TInt /*aError*/,
- const TDesC& /*aParam*/)
- {
-
- switch (aEvent)
- {
- case EDirectPrintEngineEventStartCreatePrintData:
- break;
- case EDirectPrintEngineEventFinishCreatePrintData:
- {
- //TInt msgid = R_DIRECTPRINT_MSG_BEARER_OPEN_ERR;
- TRAPD(err, iBearerMgr->CreateJobL());
- if (err == KErrNone)
- {
- //msgid = R_DIRECTPRINT_MSG_SUBMIT_PRINT_ERR;
- TRAP(err, iBearerMgr->SubmitPrintJobL());
- }
-
- if (err != KErrNone)
- {
- // show bearer open error
- CAknErrorNote* errornote = new (ELeave) CAknErrorNote( ETrue );
- HBufC* format = StringLoader::LoadLC( R_DIRECTPRINT_MSG_BEARER_OPEN_ERR );
- HBufC* msg = HBufC::NewLC(format->Length()+5);
- TPtr ptrMsg(msg->Des());
- ptrMsg.AppendFormat(*format, err);
- errornote->ExecuteLD( *msg );
- CleanupStack::PopAndDestroy( msg );
- CleanupStack::PopAndDestroy( format );
- }
- }
- break;
- case EDirectPrintEngineEventCancelCreatePrintData:
- break;
- case EDirectPrintEngineEventErrorCreatePrintData:
- break;
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppAppUi::InitializeBearerMngL()
-// Initialize bearer manager.
-// ---------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::InitializeBearerMngL()
- {
- iBearerMgr = CDirectPrintBearerMgr::NewL(this, iDoc->Model());
- }
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppAppUi::InitializePluginMgrL()
-// Initialize plugin manager.
-// ---------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::InitializePluginMgrL()
- {
- iPluginMgr = CDirectPrintUiPluginMgr::NewL(iDoc->Model());
- }
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppAppUi::HandleBearerMngEventL()
-// Handle the events from engine side
-// ---------------------------------------------------------------------------
-//
-void CDirectPrintAppAppUi::HandleBearerMngEventL(
- TDirectPrintBearerMngEvents aEvent,
- TInt /*aError*/,
- const TDesC& /*aParam*/)
- {
-
- switch (aEvent)
- {
- case EDirectPrintBearerMngErrorConnectBearer:
- break;
- case EDirectPrintBearerMngConnectedBearer:
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintAppAppUi::PrintJobProgressEvent( TInt aStatus,
- TInt aPercentCompletion,
- TInt aJobStateCode )
- {
- LOG3("Start CDirectPrintAppAppUi::PrintJobProgressEvent[%d],[%d],[%d]",
- aStatus, aPercentCompletion, aJobStateCode);
- if ( aStatus == EActive )
- {
- LOG("aStatus == EActive");
-
- }
- else
- {
- LOG("aStatus == EDone");
- if ( aJobStateCode == ECancelling && aStatus == EDone )
- {
- LOG("ECancelling");
- }
- else if ( aJobStateCode == ECancellingNoMessage && aStatus == EDone )
- {
- LOG("ECancellingNoMessage");
- }
- else
- {
- LOG("Finish");
- this->iBearerMgr->CloseSession();
- }
- }
- LOG("End CDirectPrintAppAppUi::PrintJobProgressEvent");
- }
-
-void CDirectPrintAppAppUi::PrintJobErrorEvent( TInt aError,
- TInt aErrorStringCode )
- {
- LOG2("Start CDirectPrintAppAppUi::PrintJobErrorEvent[%d], [%d]", aError, aErrorStringCode);
- LOG("Finish when error happen");
- this->iBearerMgr->CloseSession();
- LOG("End CDirectPrintAppAppUi::PrintJobErrorEvent");
- }
-
-void CDirectPrintAppAppUi::PrinterStatusEvent( TInt aError,
- TInt aErrorStringCode )
- {
- LOG2("Start CDirectPrintAppAppUi::PrinterStatusEvent[%d], [%d]", aError, aErrorStringCode);
- LOG("End CDirectPrintAppAppUi::PrinterStatusEvent");
- }
-
-void CDirectPrintAppAppUi::PreviewImageEvent( TInt /*aFsBitmapHandle*/ )
- {
- LOG("Start CDirectPrintAppAppUi::PreviewImageEvent");
- LOG("End CDirectPrintAppAppUi::PreviewImageEvent");
- }
-
-void CDirectPrintAppAppUi::ShowMessageL( TInt aMsgLine1Code,
- TInt aMsgLine2Code )
- {
- LOG2("Start CDirectPrintAppAppUi::ShowMessageL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
- LOG("End CDirectPrintAppAppUi::ShowMessageL");
- }
-
-TBool CDirectPrintAppAppUi::AskYesNoQuestionL( TInt aMsgLine1Code,
- TInt aMsgLine2Code )
- {
- LOG2("Start CDirectPrintAppAppUi::AskYesNoQuestionL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
- LOG("End CDirectPrintAppAppUi::AskYesNoQuestionL");
- return EFalse;
- }
-
-const TDesC& CDirectPrintAppAppUi::AskForInputL( TInt aMsgLine1Code,
- TInt aMsgLine2Code )
- {
- LOG2("Start CDirectPrintAppAppUi::AskForInputL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
- LOG("End CDirectPrintAppAppUi::AskForInputL");
- return KNullDesC;
- }
-
-// End of File
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <avkon.hrh>
+#include <aknnotewrappers.h>
+#include <akntabgrp.h>
+#include <barsread.h>
+#include <stringloader.h>
+#include <DirectPrintApp.rsg>
+#include <f32file.h>
+#include <s32file.h>
+#include <f32file.h>
+#include <aiwmenu.h> // CAiwGenericParamList
+
+//not use #include <featmgr.h> // FeatureManager
+
+#include <xmlengdomparser.h> // RXmlEngDOMParser
+#include <xmlengdomimplementation.h> // RXmlEngDOMImplementation
+#include <xmlengerrors.h>
+
+// Start ImagePrint Provide
+#include "imageprint.h"
+#include "printmessagecodes.h"
+// End ImagePrint Provide
+
+#include "clog.h"
+#include "aiwprintproperty.h"
+
+#include "directprintapp.pan"
+#include "directprintappappui.h"
+#include "directprintapp.hrh"
+#include "directprintappdocument.h"
+#include "directprintmodel.h"
+
+#include "directprintmainview.h"
+#include "directprintlistview.h"
+#include "directprintsettingview.h"
+#include "directprintpreviewview.h"
+#include "directprintpropertyview.h"
+#include "directprintsearchresultview.h"
+#include "directprintengine.h"
+#include "directprintbearermgr.h"
+#include "directprintmsgutil.h"
+#include "directprintuipluginmgr.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::ConstructL()
+ {
+ LOG("CDirectPrintAppAppUi::ConstructL BEGIN");
+ // Initialise app UI with standard value.
+ //BaseConstructL( EAknEnableSkin | EAknEnableMSK );
+ BaseConstructL( EAknEnableSkin );
+
+//not use FeatureManager::InitializeLibL();
+
+ iDoc = static_cast<CDirectPrintAppDocument*>( CAknAppUi::Document() );
+
+ TRAPD( err, InitializeEngineL() );
+ if ( err == KErrInUse )
+ {
+ LOG1("InitializeEngineL Error [%d]", err);
+ CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PRINT_IN_USE);
+ Exit();
+ }
+ else
+ {
+ User::LeaveIfError( err );
+ }
+
+ TRAP( err, InitializeBearerMngL() );
+ if ( err == KErrInUse || err == KErrAlreadyExists )
+ {
+ LOG1("InitializeBearerMngL Error [%d]", err);
+ CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PRINT_IN_USE);
+ Exit();
+ }
+ else
+ {
+ User::LeaveIfError( err );
+ }
+
+ InitializePluginMgrL();
+
+ LOG("CDirectPrintAppAppUi::ConstructL StatusPane...");
+ CEikStatusPane* statusPane = StatusPane();
+ CAknNavigationControlContainer* naviPane = (CAknNavigationControlContainer*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
+ {
+ TResourceReader reader;
+ iCoeEnv->CreateResourceReaderLC(reader, R_DIRECTPRINT_PROPERTYSETTING_NAVI_DECORATOR);
+ iNaviDecorator = naviPane->ConstructNavigationDecoratorFromResourceL(reader);
+ CleanupStack::PopAndDestroy();
+ }
+ CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(iNaviDecorator->DecoratedControl());
+ tabGroup->SetObserver(this);
+
+ LOG("CDirectPrintAppAppUi::ConstructL aiw param...");
+ // aiw param
+ iAiwState = ENotAiwCall;
+ TInt r = iAiwCall.Attach(KPrintPropertyCat,EPrintProperty,EOwnerProcess);
+ if (r == KErrNone)
+ {
+ iAiwCall.Get(KPrintPropertyCat,EPrintProperty,iAiwState);
+ }
+
+ if ( iAiwState == EAiwPrintCall )
+ {
+ // Set the aiw call RProperty key back to default value so that
+ // if application for some reason crashes the value is not left for AIW mode.
+ iAiwCall.Set( KPrintPropertyCat,EPrintProperty, ENotAiwCall );
+ TRAP( err, LoadParamL() );
+ if ( err != KErrNone )
+ {
+ CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PARAM_INCORRECT);
+ Exit();
+ }
+ }
+
+ LOG("CDirectPrintAppAppUi::ConstructL InitializeViewsL...");
+ InitializeViewsL();
+
+ iCoeEnv->RootWin().EnableScreenChangeEvents();
+
+ LOG("CDirectPrintAppAppUi::ConstructL END");
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::CDirectPrintAppAppUi()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppAppUi::CDirectPrintAppAppUi()
+ {
+ // No implementation required
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::~CDirectPrintAppAppUi()
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppAppUi::~CDirectPrintAppAppUi()
+ {
+//not use FeatureManager::UnInitializeLib();
+
+ if (iXmlEngDoc.NotNull())
+ {
+ iXmlEngDoc.Close(); // closing all opened objects
+ iXmlParser.Close();
+ iXmlDomImpl.Close();
+ }
+ delete iXmlParam;
+ delete iEngine;
+ delete iBearerMgr;
+ delete iPluginMgr;
+ delete iNaviDecorator;
+ iAiwCall.Close();
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::HandleCommandL()
+// Takes care of command handling.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::HandleCommandL( TInt aCommand )
+ {
+ LOG1("CDirectPrintAppAppUi::HandleCommandL(%d) BEGIN", aCommand);
+ switch( aCommand )
+ {
+ case EEikCmdExit:
+ case EAknSoftkeyExit:
+ case EDirectPrintCmdIdMainViewExit:
+ {
+ LOG1("BearerStatu=%d", iBearerMgr->BearerStatus());
+
+ TBool isPrinting = EFalse;
+ switch (iBearerMgr->BearerStatus())
+ {
+ case CDirectPrintBearerMgr::EBearerMngCreatingJob:
+ case CDirectPrintBearerMgr::EBearerMngPrinting:
+ isPrinting = ETrue;
+ break;
+ case CDirectPrintBearerMgr::EBearerMngClosing:
+ case CDirectPrintBearerMgr::EBearerMngCanceling:
+ case CDirectPrintBearerMgr::EBearerMngNotConnected:
+ case CDirectPrintBearerMgr::EBearerMngConnected:
+ default:
+ isPrinting = EFalse;
+ break;
+ }
+
+ if (!isPrinting)
+ {
+ iDoc->Model().ExternalizeDataL();
+ Exit();
+ }
+ else
+ {
+ // Show information message
+ HBufC* textResource = StringLoader::LoadLC(R_DIRECTPRINT_MSG_NOW_PRINTING);
+ CAknInformationNote* informationNote;
+ informationNote = new (ELeave) CAknInformationNote;
+ informationNote->ExecuteLD(*textResource);
+ CleanupStack::PopAndDestroy(textResource);
+ }
+ }
+ break;
+ case EDirectPrintCmdIdMainViewPrint:
+ case EDirectPrintCmdIdPropertySettingViewPrint:
+ case EDirectPrintCmdIdPreviewViewPrint:
+ {
+ MakeNaviPaneVisibleL(EFalse);
+ //TInt modelcount = iEngine->ModelCount();
+ iEngine->SetUseModel(0);
+ iEngine->PrintL();
+ }
+ break;
+ case EDirectPrintCmdIdMainViewPreview:
+ case EDirectPrintCmdIdPropertySettingViewPreview:
+ {
+ TVwsViewId id;
+ GetActiveViewId(id);
+ iBackViewUid = id.iViewUid;
+ //MakeStatusPaneVisible(EFalse);
+ MakeNaviPaneVisibleL(EFalse);
+ ActivateLocalViewL(TUid::Uid(EDirectPrintPreviewViewId));
+ }
+ break;
+ case EDirectPrintCmdIdMainViewPropertySetting:
+ {
+ if (iDoc->Model().PrinterCount() > 0)
+ {
+ CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(iNaviDecorator->DecoratedControl());
+ tabGroup->SetActiveTabByIndex(0);
+ // tabGroup->SetActiveTabByIndex(1);
+ MakeNaviPaneVisibleL(ETrue);
+ // ActivateLocalViewL(TUid::Uid(EDirectPrintPropertySetting1ViewId));
+ // ActivateLocalViewL(TUid::Uid(EDirectPrintPropertySetting2ViewId));
+ ActivateLocalViewL(TUid::Uid(EDirectPrintPropertyViewId));
+ }
+ }
+ break;
+ case EDirectPrintCmdIdMainViewPrinterList:
+ {
+ MakeNaviPaneVisibleL(EFalse);
+ ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
+ }
+ break;
+ case EDirectPrintCmdIdPrinterSettingViewBack:
+ {
+ if (iBackViewUid != TUid::Uid(0))
+ {
+ ActivateLocalViewL(iBackViewUid);
+ iBackViewUid = TUid::Uid(0);
+ }
+ else
+ {
+ ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
+ }
+ }
+ break;
+ case EDirectPrintCmdIdMainViewPrinterSetting:
+ case EDirectPrintCmdIdPrinterListViewNew:
+ case EDirectPrintCmdIdPrinterListViewEdit:
+ {
+ if ((iDoc->Model().PrinterCount() > 0) || (iDoc->Model().IsNewData()))
+ {
+ TVwsViewId id;
+ GetActiveViewId(id);
+ iBackViewUid = id.iViewUid;
+ MakeNaviPaneVisibleL(EFalse);
+ ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterSettingViewId));
+ }
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewDone:
+ case EDirectPrintCmdIdPropertySettingViewBack:
+ {
+ MakeNaviPaneVisibleL(EFalse);
+ ActivateLocalViewL(TUid::Uid(EDirectPrintMainViewId));
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewSearch:
+ {
+ // Start printer search
+ //SearchPrinterL();
+ ActivateLocalViewL(TUid::Uid(EDirectPrintSearchResultViewId));
+ }
+ break;
+ case EDirectPrintCmdIdSearchResultViewSearch:
+ {
+ // Start printer search
+ //SearchPrinterL();
+ }
+ break;
+ case EDirectPrintCmdIdSearchResultViewSelect:
+ case EDirectPrintCmdIdSearchResultViewCancel:
+ {
+ ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
+ }
+ break;
+ case EDirectPrintCmdIdPreviewViewBack:
+ {
+ MakeStatusPaneVisible(ETrue);
+ if (iBackViewUid != TUid::Uid(0))
+ {
+ if (iBackViewUid != TUid::Uid(EDirectPrintMainViewId))
+ {
+ MakeNaviPaneVisibleL(ETrue);
+ }
+ ActivateLocalViewL(iBackViewUid);
+ iBackViewUid = TUid::Uid(0);
+ }
+ else
+ {
+ ActivateLocalViewL(TUid::Uid(EDirectPrintMainViewId));
+ }
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewDelete:
+ default:
+ break;
+ }
+ LOG("CDirectPrintAppAppUi::HandleCommandL END");
+ }
+
+void CDirectPrintAppAppUi::HandleResourceChangeL( TInt aType )
+ {
+ // base-class call also
+ CAknAppUi::HandleResourceChangeL(aType);
+ if (aType == KEikDynamicLayoutVariantSwitch)
+ {
+ }
+ }
+
+void CDirectPrintAppAppUi::TabChangedL(TInt aIndex)
+ {
+ TVwsViewId id;
+ GetActiveViewId(id);
+ if (id.iViewUid.iUid == EDirectPrintPropertyViewId)
+ {
+ CDirectPrintPropertyView* view = static_cast<CDirectPrintPropertyView*>(View(id.iViewUid));
+ view->ChangeTabL(aIndex);
+ }
+ }
+
+void CDirectPrintAppAppUi::MakeNaviPaneVisibleL(TBool aVisible)
+ {
+ CEikStatusPane* statusPane = StatusPane();
+ CAknNavigationControlContainer* naviPane = (CAknNavigationControlContainer*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
+
+ if (aVisible)
+ {
+ naviPane->PushL(*iNaviDecorator);
+ }
+ else
+ {
+ naviPane->Pop(iNaviDecorator);
+ }
+ }
+
+void CDirectPrintAppAppUi::MakeStatusPaneVisible(TBool aVisible)
+ {
+ CEikStatusPane* statusPane = StatusPane();
+ statusPane->MakeVisible(aVisible);
+ }
+
+void CDirectPrintAppAppUi::InitializeViewsL()
+ {
+ LOG("CDirectPrintAppAppUi::InitializeViewsL begin");
+ // Create view
+ LOG("-->CDirectPrintMainView");
+ CDirectPrintMainView* view1 = CDirectPrintMainView::NewL();
+ CleanupStack::PushL(view1);
+ AddViewL(view1);
+ CleanupStack::Pop(view1);
+
+ LOG("-->CDirectPrintListView");
+ CDirectPrintListView* view2 = CDirectPrintListView::NewL();
+ CleanupStack::PushL(view2);
+ AddViewL(view2);
+ CleanupStack::Pop(view2);
+
+ LOG("-->CDirectPrintSearchResultView");
+ CDirectPrintSearchResultView* view3 = CDirectPrintSearchResultView::NewL();
+ AddViewL(view3);
+
+ LOG("-->CDirectPrintPrinterSettingView");
+ CDirectPrintPrinterSettingView* view4 = CDirectPrintPrinterSettingView::NewL();
+ CleanupStack::PushL(view4);
+ AddViewL(view4);
+ CleanupStack::Pop(view4);
+
+ LOG("-->CDirectPrintPreviewView");
+ CDirectPrintPreviewView* view5 = CDirectPrintPreviewView::NewL();
+ CleanupStack::PushL(view5);
+ AddViewL(view5);
+ CleanupStack::Pop(view5);
+
+ LOG("-->CDirectPrintPropertyView");
+ CDirectPrintPropertyView* view6 = CDirectPrintPropertyView::NewL();
+ CleanupStack::PushL(view6);
+ AddViewL(view6);
+ CleanupStack::Pop(view6);
+
+ // Check plugins. Create view, if extended view exists.
+
+ SetDefaultViewL( *view1 );
+
+ iBackViewUid = TUid::Uid(0);
+ LOG("CDirectPrintAppAppUi::InitializeViewsL end");
+ }
+
+
+void CDirectPrintAppAppUi::LoadParamL()
+ {
+ // get the xml parameter from AIW provider
+ // after that iXmlEngDoc is set in the function.
+ GetParamFromAiwProviderL();
+ // set the xml param to the engine side, and
+ // the adapted band plugin is loaded and the xml
+ // parameter is sent to the plugin.
+ iEngine->SetParamL(&iXmlEngDoc);
+ }
+
+void CDirectPrintAppAppUi::GetParamFromAiwProviderL()
+ {
+ LOG("CDirectPrintAppAppUi::GetParamFromAiwProviderL() BEGIN");
+
+ RFileReadStream readStream;
+ TFileName paramFile;
+ _LIT( KParamFile, "c:\\system\\data\\T_AIW_TEMP.DAT");
+ paramFile.Copy(KParamFile);
+
+ User::LeaveIfError( readStream.Open(iCoeEnv->FsSession(), paramFile, EFileRead) );
+ readStream.PushL();
+ CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC(readStream);
+
+ TInt index( 0 );
+ const TAiwGenericParam* param = paramList->FindFirst(index,
+ EGenericParamPrintXMLFile,
+ EVariantTypeDesC8);
+ TPtrC8 ptrParam = param->Value().AsData();
+ if ( ptrParam.Length() == 0)
+ {
+ User::Leave(KErrArgument);
+ }
+
+ // set file name
+ iXmlParam = ptrParam.AllocL();
+
+ // parse XML param
+ // opening DOM implementation object
+ iXmlDomImpl.OpenL();
+ // opening parser object
+ User::LeaveIfError(iXmlParser.Open( iXmlDomImpl ));
+ // ParseL return KXmlEngErrParsing
+ iXmlEngDoc =iXmlParser.ParseL( *iXmlParam ); // parsing buffer
+
+ CleanupStack::PopAndDestroy(paramList); //paramList
+ readStream.Close();
+ readStream.Pop();
+ LOG("CDirectPrintAppAppUi::GetParamFromAiwProviderL() END");
+ }
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::InitializeEngineL()
+// Initialize print engine.
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::InitializeEngineL()
+ {
+ iEngine = CDirectPrintEngine::NewL(iDoc->Model());
+ iEngine->SetObserver(this);
+ }
+
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::HandlePrintEventL()
+// Handle the events from engine side
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::HandlePrintEventL(
+ TDirectPrintEngineEvents aEvent,
+ TInt /*aError*/,
+ const TDesC& /*aParam*/)
+ {
+
+ switch (aEvent)
+ {
+ case EDirectPrintEngineEventStartCreatePrintData:
+ break;
+ case EDirectPrintEngineEventFinishCreatePrintData:
+ {
+ //TInt msgid = R_DIRECTPRINT_MSG_BEARER_OPEN_ERR;
+ TRAPD(err, iBearerMgr->CreateJobL());
+ if (err == KErrNone)
+ {
+ //msgid = R_DIRECTPRINT_MSG_SUBMIT_PRINT_ERR;
+ TRAP(err, iBearerMgr->SubmitPrintJobL());
+ }
+
+ if (err != KErrNone)
+ {
+ // show bearer open error
+ CAknErrorNote* errornote = new (ELeave) CAknErrorNote( ETrue );
+ HBufC* format = StringLoader::LoadLC( R_DIRECTPRINT_MSG_BEARER_OPEN_ERR );
+ HBufC* msg = HBufC::NewLC(format->Length()+5);
+ TPtr ptrMsg(msg->Des());
+ ptrMsg.AppendFormat(*format, err);
+ errornote->ExecuteLD( *msg );
+ CleanupStack::PopAndDestroy( msg );
+ CleanupStack::PopAndDestroy( format );
+ }
+ }
+ break;
+ case EDirectPrintEngineEventCancelCreatePrintData:
+ break;
+ case EDirectPrintEngineEventErrorCreatePrintData:
+ break;
+ default:
+ break;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::InitializeBearerMngL()
+// Initialize bearer manager.
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::InitializeBearerMngL()
+ {
+ iBearerMgr = CDirectPrintBearerMgr::NewL(this, iDoc->Model());
+ }
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::InitializePluginMgrL()
+// Initialize plugin manager.
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::InitializePluginMgrL()
+ {
+ iPluginMgr = CDirectPrintUiPluginMgr::NewL(iDoc->Model());
+ }
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::HandleBearerMngEventL()
+// Handle the events from engine side
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::HandleBearerMngEventL(
+ TDirectPrintBearerMngEvents aEvent,
+ TInt /*aError*/,
+ const TDesC& /*aParam*/)
+ {
+
+ switch (aEvent)
+ {
+ case EDirectPrintBearerMngErrorConnectBearer:
+ break;
+ case EDirectPrintBearerMngConnectedBearer:
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintAppAppUi::PrintJobProgressEvent( TInt aStatus,
+ TInt aPercentCompletion,
+ TInt aJobStateCode )
+ {
+ LOG3("Start CDirectPrintAppAppUi::PrintJobProgressEvent[%d],[%d],[%d]",
+ aStatus, aPercentCompletion, aJobStateCode);
+ if ( aStatus == EActive )
+ {
+ LOG("aStatus == EActive");
+
+ }
+ else
+ {
+ LOG("aStatus == EDone");
+ if ( aJobStateCode == ECancelling && aStatus == EDone )
+ {
+ LOG("ECancelling");
+ }
+ else if ( aJobStateCode == ECancellingNoMessage && aStatus == EDone )
+ {
+ LOG("ECancellingNoMessage");
+ }
+ else
+ {
+ LOG("Finish");
+ this->iBearerMgr->CloseSession();
+ }
+ }
+ LOG("End CDirectPrintAppAppUi::PrintJobProgressEvent");
+ }
+
+void CDirectPrintAppAppUi::PrintJobErrorEvent( TInt aError,
+ TInt aErrorStringCode )
+ {
+ LOG2("Start CDirectPrintAppAppUi::PrintJobErrorEvent[%d], [%d]", aError, aErrorStringCode);
+ LOG("Finish when error happen");
+ this->iBearerMgr->CloseSession();
+ LOG("End CDirectPrintAppAppUi::PrintJobErrorEvent");
+ }
+
+void CDirectPrintAppAppUi::PrinterStatusEvent( TInt aError,
+ TInt aErrorStringCode )
+ {
+ LOG2("Start CDirectPrintAppAppUi::PrinterStatusEvent[%d], [%d]", aError, aErrorStringCode);
+ LOG("End CDirectPrintAppAppUi::PrinterStatusEvent");
+ }
+
+void CDirectPrintAppAppUi::PreviewImageEvent( TInt /*aFsBitmapHandle*/ )
+ {
+ LOG("Start CDirectPrintAppAppUi::PreviewImageEvent");
+ LOG("End CDirectPrintAppAppUi::PreviewImageEvent");
+ }
+
+void CDirectPrintAppAppUi::ShowMessageL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code )
+ {
+ LOG2("Start CDirectPrintAppAppUi::ShowMessageL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
+ LOG("End CDirectPrintAppAppUi::ShowMessageL");
+ }
+
+TBool CDirectPrintAppAppUi::AskYesNoQuestionL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code )
+ {
+ LOG2("Start CDirectPrintAppAppUi::AskYesNoQuestionL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
+ LOG("End CDirectPrintAppAppUi::AskYesNoQuestionL");
+ return EFalse;
+ }
+
+const TDesC& CDirectPrintAppAppUi::AskForInputL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code )
+ {
+ LOG2("Start CDirectPrintAppAppUi::AskForInputL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
+ LOG("End CDirectPrintAppAppUi::AskForInputL");
+ return KNullDesC;
+ }
+
+// End of File
+
--- a/DirectPrint/DirectPrintApp/src/directprintappdocument.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintappdocument.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,103 +1,103 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include "clog.h"
-#include "directprintappappui.h"
-#include "directprintappdocument.h"
-#include "directprintmodel.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppDocument::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintAppDocument* CDirectPrintAppDocument::NewL(CEikApplication& aApp)
- {
- CDirectPrintAppDocument* self = NewLC(aApp);
- CleanupStack::Pop(self);
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppDocument::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintAppDocument* CDirectPrintAppDocument::NewLC(CEikApplication& aApp)
- {
- CDirectPrintAppDocument* self = new (ELeave) CDirectPrintAppDocument(aApp);
-
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppDocument::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintAppDocument::ConstructL()
- {
- LOG("CDirectPrintAppDocument::ConstructL BEGIN");
- // create the model object
- iModel = CDirectPrintModel::NewL();
- LOG("CDirectPrintAppDocument::ConstructL END");
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppDocument::CDirectPrintAppDocument()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintAppDocument::CDirectPrintAppDocument(CEikApplication& aApp) :
- CAknDocument(aApp)
- {
- // No implementation required
- }
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppDocument::~CDirectPrintAppDocument()
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CDirectPrintAppDocument::~CDirectPrintAppDocument()
- {
- delete iModel;
- }
-
-// ---------------------------------------------------------------------------
-// CDirectPrintAppDocument::CreateAppUiL()
-// Constructs CreateAppUi.
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CDirectPrintAppDocument::CreateAppUiL()
- {
- // Create the application user interface, and return a pointer to it;
- // the framework takes ownership of this object
- return new (ELeave) CDirectPrintAppAppUi;
- }
-
-CDirectPrintModel& CDirectPrintAppDocument::Model()
- {
- return *iModel;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include "clog.h"
+#include "directprintappappui.h"
+#include "directprintappdocument.h"
+#include "directprintmodel.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppDocument::NewL()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppDocument* CDirectPrintAppDocument::NewL(CEikApplication& aApp)
+ {
+ CDirectPrintAppDocument* self = NewLC(aApp);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppDocument::NewLC()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppDocument* CDirectPrintAppDocument::NewLC(CEikApplication& aApp)
+ {
+ CDirectPrintAppDocument* self = new (ELeave) CDirectPrintAppDocument(aApp);
+
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppDocument::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintAppDocument::ConstructL()
+ {
+ LOG("CDirectPrintAppDocument::ConstructL BEGIN");
+ // create the model object
+ iModel = CDirectPrintModel::NewL();
+ LOG("CDirectPrintAppDocument::ConstructL END");
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppDocument::CDirectPrintAppDocument()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppDocument::CDirectPrintAppDocument(CEikApplication& aApp) :
+ CAknDocument(aApp)
+ {
+ // No implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppDocument::~CDirectPrintAppDocument()
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CDirectPrintAppDocument::~CDirectPrintAppDocument()
+ {
+ delete iModel;
+ }
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppDocument::CreateAppUiL()
+// Constructs CreateAppUi.
+// ---------------------------------------------------------------------------
+//
+CEikAppUi* CDirectPrintAppDocument::CreateAppUiL()
+ {
+ // Create the application user interface, and return a pointer to it;
+ // the framework takes ownership of this object
+ return new (ELeave) CDirectPrintAppAppUi;
+ }
+
+CDirectPrintModel& CDirectPrintAppDocument::Model()
+ {
+ return *iModel;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintApp/src/directprintbearerdata.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintbearerdata.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,103 +1,103 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <s32strm.h>
-
-#include "directprintbearerdata.h"
-
-EXPORT_C void TDirectPrintBearerData::InternalizeL(RReadStream& aStream)
- {
- iPrinterId = aStream.ReadInt32L();
- iBearerId = aStream.ReadInt32L();
- TInt length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iBearerName, length);
- }
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iAccessPoint, length);
- }
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iHostName, length);
- }
- iHostIp.SetAddress(aStream.ReadInt32L());
- iPort = aStream.ReadInt32L();
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iUserName, length);
- }
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iQueName, length);
- }
- }
-
-EXPORT_C void TDirectPrintBearerData::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt32L(iPrinterId);
- aStream.WriteInt32L(iBearerId);
- aStream.WriteInt32L(iBearerName.Length());
- if (iBearerName.Length() > 0)
- {
- aStream.WriteL(iBearerName);
- }
- aStream.WriteInt32L(iAccessPoint.Length());
- if (iAccessPoint.Length() > 0)
- {
- aStream.WriteL(iAccessPoint);
- }
- aStream.WriteInt32L(iHostName.Length());
- if (iHostName.Length() > 0)
- {
- aStream.WriteL(iHostName);
- }
- aStream.WriteInt32L(iHostIp.Address());
- aStream.WriteInt32L(iPort);
- aStream.WriteInt32L(iUserName.Length());
- if (iUserName.Length() > 0)
- {
- aStream.WriteL(iUserName);
- }
- aStream.WriteInt32L(iQueName.Length());
- if (iQueName.Length() > 0)
- {
- aStream.WriteL(iQueName);
- }
- }
-
-EXPORT_C TDirectPrintBearerData& TDirectPrintBearerData::operator=(const TDirectPrintBearerData& aData)
- {
- iPrinterId = aData.iPrinterId;
- iBearerId = aData.iBearerId;
- iBearerName.Copy(aData.iBearerName);
- iAccessPoint.Copy(aData.iAccessPoint);
- iHostName.Copy(aData.iHostName);
- //iHostIp.SetAddress(aData.iHostIp.Address());
- iHostIp = aData.iHostIp;
- iPort = aData.iPort;
- iUserName.Copy(aData.iUserName);
- iQueName.Copy(aData.iQueName);
- return *this;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <s32strm.h>
+
+#include "directprintbearerdata.h"
+
+EXPORT_C void TDirectPrintBearerData::InternalizeL(RReadStream& aStream)
+ {
+ iPrinterId = aStream.ReadInt32L();
+ iBearerId = aStream.ReadInt32L();
+ TInt length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iBearerName, length);
+ }
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iAccessPoint, length);
+ }
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iHostName, length);
+ }
+ iHostIp.SetAddress(aStream.ReadInt32L());
+ iPort = aStream.ReadInt32L();
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iUserName, length);
+ }
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iQueName, length);
+ }
+ }
+
+EXPORT_C void TDirectPrintBearerData::ExternalizeL(RWriteStream& aStream) const
+ {
+ aStream.WriteInt32L(iPrinterId);
+ aStream.WriteInt32L(iBearerId);
+ aStream.WriteInt32L(iBearerName.Length());
+ if (iBearerName.Length() > 0)
+ {
+ aStream.WriteL(iBearerName);
+ }
+ aStream.WriteInt32L(iAccessPoint.Length());
+ if (iAccessPoint.Length() > 0)
+ {
+ aStream.WriteL(iAccessPoint);
+ }
+ aStream.WriteInt32L(iHostName.Length());
+ if (iHostName.Length() > 0)
+ {
+ aStream.WriteL(iHostName);
+ }
+ aStream.WriteInt32L(iHostIp.Address());
+ aStream.WriteInt32L(iPort);
+ aStream.WriteInt32L(iUserName.Length());
+ if (iUserName.Length() > 0)
+ {
+ aStream.WriteL(iUserName);
+ }
+ aStream.WriteInt32L(iQueName.Length());
+ if (iQueName.Length() > 0)
+ {
+ aStream.WriteL(iQueName);
+ }
+ }
+
+EXPORT_C TDirectPrintBearerData& TDirectPrintBearerData::operator=(const TDirectPrintBearerData& aData)
+ {
+ iPrinterId = aData.iPrinterId;
+ iBearerId = aData.iBearerId;
+ iBearerName.Copy(aData.iBearerName);
+ iAccessPoint.Copy(aData.iAccessPoint);
+ iHostName.Copy(aData.iHostName);
+ //iHostIp.SetAddress(aData.iHostIp.Address());
+ iHostIp = aData.iHostIp;
+ iPort = aData.iPort;
+ iUserName.Copy(aData.iUserName);
+ iQueName.Copy(aData.iQueName);
+ return *this;
+ }
+
--- a/DirectPrint/DirectPrintApp/src/directprintbearermgr.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintbearermgr.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,357 +1,357 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// User includes
-#include "clog.h"
-#include "DirectPrintApp.pan"
-#include "DirectPrintBearerMgr.h"
-#include "DirectPrintModel.h"
-#include "directprintbearerdata.h"
-#include "directprintprinterdata.h"
-
-#include "directprintprintsettings.h"
-#include "directprinttintcapability.h"
-#include "directprintlistcapability.h"
-#include "directprintfloatcapability.h"
-#include "directprinttextcapability.h"
-#include "directprintsettingsconverter.h"
-#include "directprintcapability.h"
-
-const TInt PROTOCOL_ID_BIT_COUNT = 6;
-
-CDirectPrintBearerMgr::CDirectPrintBearerMgr(MDirectPrintBearerMngObserver* aObserver,
- CDirectPrintModel& aModel)
- : CActive( CActive::EPriorityHigh )
- , iObserver(aObserver)
- , iModel(aModel)
- {
- LOG("CDirectPrintBearerMgr::CDirectPrintBearerMgr()");
- CActiveScheduler::Add(this);
- }
-
-CDirectPrintBearerMgr::~CDirectPrintBearerMgr()
- {
- LOG("CDirectPrintBearerMgr::~CDirectPrintBearerMgr()");
- if (IsActive())
- {
- Cancel();
- }
- iBearer.Close();
- delete iPrintSettings;
- }
-
-CDirectPrintBearerMgr* CDirectPrintBearerMgr::NewL(MDirectPrintBearerMngObserver* aObserver,
- CDirectPrintModel& aModel)
- {
- CDirectPrintBearerMgr* self = CDirectPrintBearerMgr::NewLC(aObserver, aModel);
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintBearerMgr* CDirectPrintBearerMgr::NewLC(MDirectPrintBearerMngObserver* aObserver,
- CDirectPrintModel& aModel)
- {
- CDirectPrintBearerMgr* self = new(ELeave) CDirectPrintBearerMgr(aObserver, aModel);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintBearerMgr::ConstructL()
- {
- LOG("CDirectPrintBearerMgr::ConstructL BEGIN");
- __ASSERT_ALWAYS(iObserver, Panic(EDirectPrintNoObserver));
- iPrintSettings = new ( ELeave ) CDirectPrintPrintSettings;
- iBearer.ConnectL();
- SetBearerStatus(EBearerMngConnected);
- LOG("CDirectPrintBearerMgr::ConstructL END");
- }
-
-void CDirectPrintBearerMgr::CreateJobL()
- {
- LOG("CDirectPrintBearerMgr::CreateJobL BEGIN");
- RPointerArray<TDesC> cmdline;
- CleanupClosePushL(cmdline);
-
- _LIT(KDPAppName, "DirectPrint");
- cmdline.AppendL(&(KDPAppName()));
-
- TDirectPrintBearerData bearerData;
- TDirectPrintPrinterData printerData;
- TInt indexBearer = iModel.CurrentBearer();
- TInt indexPrinter = iModel.CurrentPrinter();
- if (indexBearer >= 0 && indexPrinter >= 0)
- {
- iModel.GetBearerDataL(indexBearer, bearerData);
- iModel.GetPrinterDataL(indexPrinter, printerData);
- }
- else
- {
- LOG("CDirectPrintBearerMgr::CreateJobL LEAVE1 KErrNotFound");
- User::Leave(KErrNotFound);
- }
-
- HBufC* apname = HBufC::NewLC(50);
- TPtr apnamePtr(apname->Des());
- _LIT(KDPApName, "-S%S");
- apnamePtr.AppendFormat(KDPApName(), &(bearerData.iHostName));
- cmdline.AppendL(apname);
-
- HBufC* printername = HBufC::NewLC(50);
- TPtr printernamePtr(printername->Des());
- _LIT(KDPPrinterName, "-P000000439163");
- printernamePtr.Copy(KDPPrinterName());
- cmdline.AppendL(printername);
-
- HBufC* filename = HBufC::NewLC(50);
- TPtr filenamePtr(filename->Des());
-#ifdef __WINSCW__
- _LIT(KDPFileName, "c:\\fpr.pcl");
-#else
-// _LIT(KDPFileName, "e:\\fpr.pcl");
- _LIT(KDPFileName, "c:\\fpr.pcl");
-#endif
- filenamePtr.Copy(KDPFileName());
- cmdline.AppendL(filename);
-
- SetBearerStatus(EBearerMngCreatingJob);
-
- // bearer ID
- TInt printerID = 128;
- TInt err = iBearer.CreateJob(printerID, iJobGuardData,
- cmdline, iStatus);
- if( !err )
- {
- LOG("Start create JOB");
- SetActive();
- }
- else
- {
- LOG1("CDirectPrintBearerMgr::CreateJobL LEAVE2[%d]", err);
- User::Leave(err);
- }
-
- CleanupStack::PopAndDestroy(filename);
- CleanupStack::PopAndDestroy(printername);
- CleanupStack::PopAndDestroy(apname);
- CleanupStack::PopAndDestroy(&cmdline);
- LOG("CDirectPrintBearerMgr::CreateJobL END");
- }
-
-void CDirectPrintBearerMgr::RunL()
- {
- LOG1("CDirectPrintBearerMgr::RunL begin with iStatus.Int(): %d", iStatus.Int());
- if( iStatus == KErrNone && iObserver )
- {
- switch( iJobGuardData.iCb )
- {
- case TDirectPrintJobGuardData::EProgressEventCb:
- LOG("CJobGuard::RunL TDirectPrintJobGuardData::EProgressEventCb");
- LOG1("CJobGuard::RunL iJobGuardData.iStatus: %d", iJobGuardData.iStatus);
- LOG1("CJobGuard::RunL iJobGuardData.iPercentCompletion: %d", iJobGuardData.iPercentCompletion);
- LOG1("CJobGuard::RunL iJobGuardData.iJobStateCode: %d", iJobGuardData.iJobStateCode);
- iObserver->PrintJobProgressEvent( iJobGuardData.iStatus, iJobGuardData.iPercentCompletion, iJobGuardData.iJobStateCode );
- break;
- case TDirectPrintJobGuardData::EErrorEventCb:
- LOG("CJobGuard::RunL TDirectPrintJobGuardData::EErrorEventCb");
- LOG1("CJobGuard::RunL iJobGuardData.iError: %d", iJobGuardData.iError);
- LOG1("CJobGuard::RunL iJobGuardData.iErrorStringCode: %d", iJobGuardData.iErrorStringCode);
- iObserver->PrintJobErrorEvent( iJobGuardData.iError, iJobGuardData.iErrorStringCode );
- break;
- case TDirectPrintJobGuardData::EStatusEventCb:
- LOG("CJobGuard::RunL TDirectPrintJobGuardData::EStatusEventCb");
- LOG1("CJobGuard::RunL iJobGuardData.iError: %d", iJobGuardData.iError);
- LOG1("CJobGuard::RunL iJobGuardData.iErrorStringCode: %d", iJobGuardData.iErrorStringCode);
- iObserver->PrintJobErrorEvent( iJobGuardData.iError, iJobGuardData.iErrorStringCode );
- break;
- case TDirectPrintJobGuardData::EImageEventCb:
- LOG("CJobGuard::RunL TDirectPrintJobGuardData::EImageEventCb");
- LOG1("CJobGuard::RunL iJobGuardData.iFsBitmapHandle: %d", iJobGuardData.iFsBitmapHandle);
- iObserver->PreviewImageEvent( iJobGuardData.iFsBitmapHandle );
- break;
- default:
- break;
- }
-
- LOG1("CDirectPrintBearerMgr::RunL BearerStatus=[%d]", iBearerStatus);
-
- switch (iBearerStatus)
- {
- case EBearerMngNotConnected:
- case EBearerMngConnected:
- case EBearerMngCreatingJob:
- case EBearerMngPrinting:
- {
- LOG("CDirectPrintBearerMgr::RunL ContinueCreateJob");
- iBearer.ContinueCreateJob( iJobGuardData, iStatus );
- SetActive();
- }
- break;
- case EBearerMngClosing:
- case EBearerMngCanceling:
- default:
- break;
- }
-
- }
- LOG("CDirectPrintBearerMgr::RunL end");
- }
-
-void CDirectPrintBearerMgr::SubmitPrintJobL()
- {
- LOG("CDirectPrintBearerMgr::SubmitPrintJobL BEGIN");
- SetBearerStatus(EBearerMngPrinting);
- // Submit print job
- TInt err = iBearer.SubmitPrintJob();
- if( err != KErrNone )
- {
- User::Leave(err);
- }
- LOG("CDirectPrintBearerMgr::SubmitPrintJobL END");
- }
-
-void CDirectPrintBearerMgr::CloseSession()
- {
- LOG("CDirectPrintBearerMgr::CloseSession BEGIN");
- SetBearerStatus(EBearerMngClosing);
- Cancel();
-// iBearer.Close();
- SetBearerStatus(EBearerMngConnected);
- LOG("CDirectPrintBearerMgr::CloseSession END");
- }
-
-void CDirectPrintBearerMgr::DoCancel()
- {
- LOG("CDirectPrintBearerMgr::DoCancel BEGIN");
- SetBearerStatus(EBearerMngCanceling);
- iBearer.CancelCreateJob();
- LOG("CDirectPrintBearerMgr::DoCancel END");
- }
-
-void CDirectPrintBearerMgr::SetBearerStatus(TBearerMngStatus aStatus)
- {
- LOG1("CDirectPrintBearerMgr::SetBearerStatus [%d]", aStatus);
- iBearerStatus = aStatus;
- }
-
-CDirectPrintBearerMgr::TBearerMngStatus CDirectPrintBearerMgr::BearerStatus()
- {
- return iBearerStatus;
- }
-
-TInt CDirectPrintBearerMgr::SupportedProtocols()
- {
- return iBearer.SupportedProtocols();
- }
-
-TInt CDirectPrintBearerMgr::GetProtocolNames(RSelectItemArray& aNames)
- {
- return iBearer.GetProtocolNames(aNames);
- }
-
-void CDirectPrintBearerMgr::InitCapabilitiesL(TInt aIndex)
- {
- TInt printerUid = CreatePrinterUid(aIndex);
-
- RArray<TInt> capabIDs;
- CleanupClosePushL( capabIDs );
-
- iBearer.GetPrinterCapabilityIDs( printerUid, capabIDs );
- CDirectPrintPrintSettings* printSettings = new ( ELeave ) CDirectPrintPrintSettings;
- CleanupStack::PushL( printSettings );
-
- TInt i( 0 );
- TInt num( capabIDs.Count() );
- for ( i = 0; i < num; i++ )
- {
- TDirectPrintCapability capab;
- iBearer.GetPrinterCapability( printerUid, capabIDs[i], capab );
- //capab.iType = TDirectPrintCapability::Enum;
-
- CDirectPrintBaseCapability* capability = 0;
-
- // Create capability
- switch ( capab.iType )
- {
- case TDirectPrintCapability::Int:
- capability = DirectPrintSettingsConverter::AddTIntCapabilityLC( capab, i, capabIDs[i] );
- break;
- case TDirectPrintCapability::Enum:
- capability = DirectPrintSettingsConverter::AddListCapabilityLC( capab, i, capabIDs[i] );
- break;
- case TDirectPrintCapability::Float:
- capability = DirectPrintSettingsConverter::AddFloatCapabilityLC( capab, i, capabIDs[i] );
- break;
- case TDirectPrintCapability::Text:
- capability = DirectPrintSettingsConverter::AddTextCapabilityLC( capab, i, capabIDs[i] );
- break;
- default:
- User::Leave( KErrUnknown );
- break;
- }
- //iBearer.GetJobSetting( capabIDs[i], capability->iValue );
-
- // Add the capability to the list
- User::LeaveIfError( printSettings->iCapabilities.Append( capability ) );
- CleanupStack::Pop(); // capability
- }
-
- delete iPrintSettings;
- iPrintSettings = printSettings;
-
- CleanupStack::Pop(); // printSettings
- CleanupStack::PopAndDestroy(); // capabIDs
- }
-
-TInt CDirectPrintBearerMgr::GetJobSetting(TInt aCapabilityID, TInt& aValue)
- {
- return iBearer.GetJobSetting(aCapabilityID, aValue);
- }
-
-TInt CDirectPrintBearerMgr::SetJobSetting(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability)
- {
- return iBearer.SetJobSetting(aCapabilityID, aValue, aAffectedCapability);
- }
-
-void CDirectPrintBearerMgr::SetJobSettings()
- {
- TInt i( 0 );
- TInt num( iPrintSettings->iCapabilities.Count() );
- for ( i = 0; i < num; i++ )
- {
- TInt getSettings;
- iBearer.SetJobSetting(iPrintSettings->iCapabilities[i]->iUid, iPrintSettings->iCapabilities[i]->iValue, getSettings);
- }
- }
-
-CDirectPrintPrintSettings* CDirectPrintBearerMgr::PrinterSettingsL()
- {
- //return iPrintSettings->CloneL();
- return iPrintSettings;
- }
-
-TInt CDirectPrintBearerMgr::CreatePrinterUid(TInt aIndex)
- {
- TInt printerUid = 0;
- TInt protocolIndex = aIndex;
- protocolIndex <<= sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT;
- printerUid |= protocolIndex;
- return printerUid;
- }
-
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// User includes
+#include "clog.h"
+#include "DirectPrintApp.pan"
+#include "DirectPrintBearerMgr.h"
+#include "DirectPrintModel.h"
+#include "directprintbearerdata.h"
+#include "directprintprinterdata.h"
+
+#include "directprintprintsettings.h"
+#include "directprinttintcapability.h"
+#include "directprintlistcapability.h"
+#include "directprintfloatcapability.h"
+#include "directprinttextcapability.h"
+#include "directprintsettingsconverter.h"
+#include "directprintcapability.h"
+
+const TInt PROTOCOL_ID_BIT_COUNT = 6;
+
+CDirectPrintBearerMgr::CDirectPrintBearerMgr(MDirectPrintBearerMngObserver* aObserver,
+ CDirectPrintModel& aModel)
+ : CActive( CActive::EPriorityHigh )
+ , iObserver(aObserver)
+ , iModel(aModel)
+ {
+ LOG("CDirectPrintBearerMgr::CDirectPrintBearerMgr()");
+ CActiveScheduler::Add(this);
+ }
+
+CDirectPrintBearerMgr::~CDirectPrintBearerMgr()
+ {
+ LOG("CDirectPrintBearerMgr::~CDirectPrintBearerMgr()");
+ if (IsActive())
+ {
+ Cancel();
+ }
+ iBearer.Close();
+ delete iPrintSettings;
+ }
+
+CDirectPrintBearerMgr* CDirectPrintBearerMgr::NewL(MDirectPrintBearerMngObserver* aObserver,
+ CDirectPrintModel& aModel)
+ {
+ CDirectPrintBearerMgr* self = CDirectPrintBearerMgr::NewLC(aObserver, aModel);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintBearerMgr* CDirectPrintBearerMgr::NewLC(MDirectPrintBearerMngObserver* aObserver,
+ CDirectPrintModel& aModel)
+ {
+ CDirectPrintBearerMgr* self = new(ELeave) CDirectPrintBearerMgr(aObserver, aModel);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintBearerMgr::ConstructL()
+ {
+ LOG("CDirectPrintBearerMgr::ConstructL BEGIN");
+ __ASSERT_ALWAYS(iObserver, Panic(EDirectPrintNoObserver));
+ iPrintSettings = new ( ELeave ) CDirectPrintPrintSettings;
+ iBearer.ConnectL();
+ SetBearerStatus(EBearerMngConnected);
+ LOG("CDirectPrintBearerMgr::ConstructL END");
+ }
+
+void CDirectPrintBearerMgr::CreateJobL()
+ {
+ LOG("CDirectPrintBearerMgr::CreateJobL BEGIN");
+ RPointerArray<TDesC> cmdline;
+ CleanupClosePushL(cmdline);
+
+ _LIT(KDPAppName, "DirectPrint");
+ cmdline.AppendL(&(KDPAppName()));
+
+ TDirectPrintBearerData bearerData;
+ TDirectPrintPrinterData printerData;
+ TInt indexBearer = iModel.CurrentBearer();
+ TInt indexPrinter = iModel.CurrentPrinter();
+ if (indexBearer >= 0 && indexPrinter >= 0)
+ {
+ iModel.GetBearerDataL(indexBearer, bearerData);
+ iModel.GetPrinterDataL(indexPrinter, printerData);
+ }
+ else
+ {
+ LOG("CDirectPrintBearerMgr::CreateJobL LEAVE1 KErrNotFound");
+ User::Leave(KErrNotFound);
+ }
+
+ HBufC* apname = HBufC::NewLC(50);
+ TPtr apnamePtr(apname->Des());
+ _LIT(KDPApName, "-S%S");
+ apnamePtr.AppendFormat(KDPApName(), &(bearerData.iHostName));
+ cmdline.AppendL(apname);
+
+ HBufC* printername = HBufC::NewLC(50);
+ TPtr printernamePtr(printername->Des());
+ _LIT(KDPPrinterName, "-P000000439163");
+ printernamePtr.Copy(KDPPrinterName());
+ cmdline.AppendL(printername);
+
+ HBufC* filename = HBufC::NewLC(50);
+ TPtr filenamePtr(filename->Des());
+#ifdef __WINSCW__
+ _LIT(KDPFileName, "c:\\fpr.pcl");
+#else
+// _LIT(KDPFileName, "e:\\fpr.pcl");
+ _LIT(KDPFileName, "c:\\fpr.pcl");
+#endif
+ filenamePtr.Copy(KDPFileName());
+ cmdline.AppendL(filename);
+
+ SetBearerStatus(EBearerMngCreatingJob);
+
+ // bearer ID
+ TInt printerID = 128;
+ TInt err = iBearer.CreateJob(printerID, iJobGuardData,
+ cmdline, iStatus);
+ if( !err )
+ {
+ LOG("Start create JOB");
+ SetActive();
+ }
+ else
+ {
+ LOG1("CDirectPrintBearerMgr::CreateJobL LEAVE2[%d]", err);
+ User::Leave(err);
+ }
+
+ CleanupStack::PopAndDestroy(filename);
+ CleanupStack::PopAndDestroy(printername);
+ CleanupStack::PopAndDestroy(apname);
+ CleanupStack::PopAndDestroy(&cmdline);
+ LOG("CDirectPrintBearerMgr::CreateJobL END");
+ }
+
+void CDirectPrintBearerMgr::RunL()
+ {
+ LOG1("CDirectPrintBearerMgr::RunL begin with iStatus.Int(): %d", iStatus.Int());
+ if( iStatus == KErrNone && iObserver )
+ {
+ switch( iJobGuardData.iCb )
+ {
+ case TDirectPrintJobGuardData::EProgressEventCb:
+ LOG("CJobGuard::RunL TDirectPrintJobGuardData::EProgressEventCb");
+ LOG1("CJobGuard::RunL iJobGuardData.iStatus: %d", iJobGuardData.iStatus);
+ LOG1("CJobGuard::RunL iJobGuardData.iPercentCompletion: %d", iJobGuardData.iPercentCompletion);
+ LOG1("CJobGuard::RunL iJobGuardData.iJobStateCode: %d", iJobGuardData.iJobStateCode);
+ iObserver->PrintJobProgressEvent( iJobGuardData.iStatus, iJobGuardData.iPercentCompletion, iJobGuardData.iJobStateCode );
+ break;
+ case TDirectPrintJobGuardData::EErrorEventCb:
+ LOG("CJobGuard::RunL TDirectPrintJobGuardData::EErrorEventCb");
+ LOG1("CJobGuard::RunL iJobGuardData.iError: %d", iJobGuardData.iError);
+ LOG1("CJobGuard::RunL iJobGuardData.iErrorStringCode: %d", iJobGuardData.iErrorStringCode);
+ iObserver->PrintJobErrorEvent( iJobGuardData.iError, iJobGuardData.iErrorStringCode );
+ break;
+ case TDirectPrintJobGuardData::EStatusEventCb:
+ LOG("CJobGuard::RunL TDirectPrintJobGuardData::EStatusEventCb");
+ LOG1("CJobGuard::RunL iJobGuardData.iError: %d", iJobGuardData.iError);
+ LOG1("CJobGuard::RunL iJobGuardData.iErrorStringCode: %d", iJobGuardData.iErrorStringCode);
+ iObserver->PrintJobErrorEvent( iJobGuardData.iError, iJobGuardData.iErrorStringCode );
+ break;
+ case TDirectPrintJobGuardData::EImageEventCb:
+ LOG("CJobGuard::RunL TDirectPrintJobGuardData::EImageEventCb");
+ LOG1("CJobGuard::RunL iJobGuardData.iFsBitmapHandle: %d", iJobGuardData.iFsBitmapHandle);
+ iObserver->PreviewImageEvent( iJobGuardData.iFsBitmapHandle );
+ break;
+ default:
+ break;
+ }
+
+ LOG1("CDirectPrintBearerMgr::RunL BearerStatus=[%d]", iBearerStatus);
+
+ switch (iBearerStatus)
+ {
+ case EBearerMngNotConnected:
+ case EBearerMngConnected:
+ case EBearerMngCreatingJob:
+ case EBearerMngPrinting:
+ {
+ LOG("CDirectPrintBearerMgr::RunL ContinueCreateJob");
+ iBearer.ContinueCreateJob( iJobGuardData, iStatus );
+ SetActive();
+ }
+ break;
+ case EBearerMngClosing:
+ case EBearerMngCanceling:
+ default:
+ break;
+ }
+
+ }
+ LOG("CDirectPrintBearerMgr::RunL end");
+ }
+
+void CDirectPrintBearerMgr::SubmitPrintJobL()
+ {
+ LOG("CDirectPrintBearerMgr::SubmitPrintJobL BEGIN");
+ SetBearerStatus(EBearerMngPrinting);
+ // Submit print job
+ TInt err = iBearer.SubmitPrintJob();
+ if( err != KErrNone )
+ {
+ User::Leave(err);
+ }
+ LOG("CDirectPrintBearerMgr::SubmitPrintJobL END");
+ }
+
+void CDirectPrintBearerMgr::CloseSession()
+ {
+ LOG("CDirectPrintBearerMgr::CloseSession BEGIN");
+ SetBearerStatus(EBearerMngClosing);
+ Cancel();
+// iBearer.Close();
+ SetBearerStatus(EBearerMngConnected);
+ LOG("CDirectPrintBearerMgr::CloseSession END");
+ }
+
+void CDirectPrintBearerMgr::DoCancel()
+ {
+ LOG("CDirectPrintBearerMgr::DoCancel BEGIN");
+ SetBearerStatus(EBearerMngCanceling);
+ iBearer.CancelCreateJob();
+ LOG("CDirectPrintBearerMgr::DoCancel END");
+ }
+
+void CDirectPrintBearerMgr::SetBearerStatus(TBearerMngStatus aStatus)
+ {
+ LOG1("CDirectPrintBearerMgr::SetBearerStatus [%d]", aStatus);
+ iBearerStatus = aStatus;
+ }
+
+CDirectPrintBearerMgr::TBearerMngStatus CDirectPrintBearerMgr::BearerStatus()
+ {
+ return iBearerStatus;
+ }
+
+TInt CDirectPrintBearerMgr::SupportedProtocols()
+ {
+ return iBearer.SupportedProtocols();
+ }
+
+TInt CDirectPrintBearerMgr::GetProtocolNames(RSelectItemArray& aNames)
+ {
+ return iBearer.GetProtocolNames(aNames);
+ }
+
+void CDirectPrintBearerMgr::InitCapabilitiesL(TInt aIndex)
+ {
+ TInt printerUid = CreatePrinterUid(aIndex);
+
+ RArray<TInt> capabIDs;
+ CleanupClosePushL( capabIDs );
+
+ iBearer.GetPrinterCapabilityIDs( printerUid, capabIDs );
+ CDirectPrintPrintSettings* printSettings = new ( ELeave ) CDirectPrintPrintSettings;
+ CleanupStack::PushL( printSettings );
+
+ TInt i( 0 );
+ TInt num( capabIDs.Count() );
+ for ( i = 0; i < num; i++ )
+ {
+ TDirectPrintCapability capab;
+ iBearer.GetPrinterCapability( printerUid, capabIDs[i], capab );
+ //capab.iType = TDirectPrintCapability::Enum;
+
+ CDirectPrintBaseCapability* capability = 0;
+
+ // Create capability
+ switch ( capab.iType )
+ {
+ case TDirectPrintCapability::Int:
+ capability = DirectPrintSettingsConverter::AddTIntCapabilityLC( capab, i, capabIDs[i] );
+ break;
+ case TDirectPrintCapability::Enum:
+ capability = DirectPrintSettingsConverter::AddListCapabilityLC( capab, i, capabIDs[i] );
+ break;
+ case TDirectPrintCapability::Float:
+ capability = DirectPrintSettingsConverter::AddFloatCapabilityLC( capab, i, capabIDs[i] );
+ break;
+ case TDirectPrintCapability::Text:
+ capability = DirectPrintSettingsConverter::AddTextCapabilityLC( capab, i, capabIDs[i] );
+ break;
+ default:
+ User::Leave( KErrUnknown );
+ break;
+ }
+ //iBearer.GetJobSetting( capabIDs[i], capability->iValue );
+
+ // Add the capability to the list
+ User::LeaveIfError( printSettings->iCapabilities.Append( capability ) );
+ CleanupStack::Pop(); // capability
+ }
+
+ delete iPrintSettings;
+ iPrintSettings = printSettings;
+
+ CleanupStack::Pop(); // printSettings
+ CleanupStack::PopAndDestroy(); // capabIDs
+ }
+
+TInt CDirectPrintBearerMgr::GetJobSetting(TInt aCapabilityID, TInt& aValue)
+ {
+ return iBearer.GetJobSetting(aCapabilityID, aValue);
+ }
+
+TInt CDirectPrintBearerMgr::SetJobSetting(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability)
+ {
+ return iBearer.SetJobSetting(aCapabilityID, aValue, aAffectedCapability);
+ }
+
+void CDirectPrintBearerMgr::SetJobSettings()
+ {
+ TInt i( 0 );
+ TInt num( iPrintSettings->iCapabilities.Count() );
+ for ( i = 0; i < num; i++ )
+ {
+ TInt getSettings;
+ iBearer.SetJobSetting(iPrintSettings->iCapabilities[i]->iUid, iPrintSettings->iCapabilities[i]->iValue, getSettings);
+ }
+ }
+
+CDirectPrintPrintSettings* CDirectPrintBearerMgr::PrinterSettingsL()
+ {
+ //return iPrintSettings->CloneL();
+ return iPrintSettings;
+ }
+
+TInt CDirectPrintBearerMgr::CreatePrinterUid(TInt aIndex)
+ {
+ TInt printerUid = 0;
+ TInt protocolIndex = aIndex;
+ protocolIndex <<= sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT;
+ printerUid |= protocolIndex;
+ return printerUid;
+ }
+
+// End of file
--- a/DirectPrint/DirectPrintApp/src/directprintmodel.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintmodel.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,476 +1,476 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* This model class for DirectPrint data managemrnt
-*
-*/
-
-#include <bautils.h>
-#include <eikenv.h>
-#include <s32file.h>
-#include <DirectPrintApp.rsg>
-
-#include "clog.h"
-#include "DirectPrintModel.h"
-#include "directprintprinterinforeader.h"
-
-CDirectPrintModel::CDirectPrintModel()
- : iCurrentPrinter(-1)
- , iCurrentBearer(-1)
- , iCurrentProperty(-1)
- , iMaxPrinterId(0)
- {
- }
-
-CDirectPrintModel::~CDirectPrintModel()
- {
- iPrinters.Close();
- iBearers.Close();
- iProperties.ResetAndDestroy();
- delete iPrinterInfoReader;
- }
-
-CDirectPrintModel* CDirectPrintModel::NewL()
- {
- CDirectPrintModel* self = CDirectPrintModel::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintModel* CDirectPrintModel::NewLC()
- {
- CDirectPrintModel* self = new(ELeave) CDirectPrintModel();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintModel::ConstructL()
- {
- LOG("CDirectPrintModel::ConstructL BEGIN");
- iFs = CEikonEnv::Static()->FsSession();
-
- // Read setting data
- InternalizeDataL();
-
- iPrinterInfoReader = CDirectPrintPrinterInfoReader::NewL(*this);
- iPrinterInfoReader->ReadPrinterInfoL();
-
- LOG("CDirectPrintModel::ConstructL END");
- }
-
-void CDirectPrintModel::InitializeDataL()
- {
- }
-
-void CDirectPrintModel::InternalizeDataL()
- {
- LOG("CDirectPrintModel::ConstructL BEGIN");
- TFileName fileName;
- CEikonEnv::Static()->ReadResourceAsDes16L(fileName, R_DIRECTPRINT_SETTING_FILE);
-
- if (BaflUtils::FileExists(iFs, fileName))
- {
- LOG("CDirectPrintModel::ConstructL file exist");
- RFileReadStream stream;
- TInt err = stream.Open(iFs, fileName, EFileRead|EFileStream);
-
- TInt count, i;
- count = stream.ReadInt32L();
- for (i=0; i<count; i++)
- {
- TDirectPrintPrinterData data;
- data.InternalizeL(stream);
- AddPrinterDataL(data);
- if (iMaxPrinterId < data.iPrinterId)
- {
- iMaxPrinterId = data.iPrinterId;
- }
- }
- iCurrentPrinter = stream.ReadInt32L();
-
- count = stream.ReadInt32L();
- for (i=0; i<count; i++)
- {
- TDirectPrintBearerData data;
- data.InternalizeL(stream);
- AddBearerDataL(data);
- }
- iCurrentBearer = stream.ReadInt32L();
-
- count = stream.ReadInt32L();
- for (i=0; i<count; i++)
- {
- CPrinterProperty* property = new(ELeave)CPrinterProperty();
- CleanupStack::PushL(property);
- property->InternalizeL(stream);
- CleanupStack::Pop(property);
- AddPrinterPropertyL(property);
- }
- iCurrentProperty = stream.ReadInt32L();
-
- stream.Close();
- }
- LOG("CDirectPrintModel::ConstructL END");
- }
-
-void CDirectPrintModel::ExternalizeDataL()
- {
- LOG("CDirectPrintModel::ExternalizeDataL START");
- TFileName fileName;
- CEikonEnv::Static()->ReadResourceAsDes16L(fileName, R_DIRECTPRINT_SETTING_FILE);
-
- RFileWriteStream stream;
- TInt err = stream.Replace(iFs, fileName, EFileWrite|EFileStream);
-
- TInt count, i;
- count = iPrinters.Count();
- stream.WriteInt32L(count);
- for (i=0; i<count; i++)
- {
- iPrinters[i].ExternalizeL(stream);
- }
- stream.WriteInt32L(iCurrentPrinter);
-
- count = iBearers.Count();
- stream.WriteInt32L(count);
- for (i=0; i<count; i++)
- {
- iBearers[i].ExternalizeL(stream);
- }
- stream.WriteInt32L(iCurrentBearer);
-
- count = iProperties.Count();
- stream.WriteInt32L(count);
- for (i=0; i<count; i++)
- {
- iProperties[i]->ExternalizeL(stream);
- }
- stream.WriteInt32L(iCurrentProperty);
-
- stream.Close();
- LOG("CDirectPrintModel::ExternalizeDataL END");
- }
-
-void CDirectPrintModel::GetPrinterDataL(TInt aIndex, TDirectPrintPrinterData& aData)
- {
- aData = iPrinters[aIndex];
- }
-
-void CDirectPrintModel::GetBearerDataL(TInt aIndex, TDirectPrintBearerData& aData)
- {
- aData = iBearers[aIndex];
- }
-
-void CDirectPrintModel::GetCurrentBearerDataL(TDirectPrintBearerData& aData)
- {
- TDirectPrintPrinterData printer;
- GetPrinterDataL(CurrentPrinter(), printer);
-
- TInt count = BearerCount();
- for (TInt i=0; i<count; i++)
- {
- TInt printerId = iBearers[i].iPrinterId;
- if (printerId == printer.iPrinterId)
- {
- aData = iBearers[i];
- break;
- }
- }
- }
-
-void CDirectPrintModel::GetSelectedBearerDataL(TDirectPrintBearerData& aData)
- {
- TDirectPrintPrinterData printer;
- GetPrinterDataL(SelectPrinter(), printer);
-
- TInt count = BearerCount();
- for (TInt i=0; i<count; i++)
- {
- TInt printerId = iBearers[i].iPrinterId;
- if (printerId == printer.iPrinterId)
- {
- aData = iBearers[i];
- break;
- }
- }
- }
-
-CPrinterProperty* CDirectPrintModel::GetPrinterPropertyL(TInt aIndex)
- {
- return iProperties[aIndex];
- }
-
-CPrinterProperty* CDirectPrintModel::GetCurrentPrinterPropertyL(TUid aAppUid)
- {
- CPrinterProperty* property = NULL;
- TDirectPrintPrinterData printer;
- GetPrinterDataL(CurrentPrinter(), printer);
-
- TInt index, count;
- count = PropertyCount();
- for (index=0; index<count; index++)
- {
- TInt printerId = iProperties[index]->iPrinterId;
- TUid uid = TUid::Uid(iProperties[index]->iApplicationId);
- if ((printerId == printer.iPrinterId) &&
- (uid == aAppUid))
- {
- if (iCurrentProperty != index)
- {
- iCurrentProperty = index;
- }
- property = iProperties[index];
- break;
- }
- }
-
- return property;
- }
-
-TInt CDirectPrintModel::GetCurrentPrinterIdL()
- {
- TDirectPrintPrinterData printer;
- GetPrinterDataL(CurrentPrinter(), printer);
- return printer.iPrinterId;
- }
-
-TInt CDirectPrintModel::CurrentPrinter()
- {
- return iCurrentPrinter;
- }
-
-TInt CDirectPrintModel::CurrentBearer()
- {
- return iCurrentBearer;
- }
-
-TInt CDirectPrintModel::CurrentProperty()
- {
- return iCurrentProperty;
- }
-
-TInt CDirectPrintModel::SelectPrinter()
- {
- return iSelectPrinter;
- }
-
-TInt CDirectPrintModel::PrinterCount()
- {
- return iPrinters.Count();
- }
-
-TInt CDirectPrintModel::BearerCount()
- {
- return iBearers.Count();
- }
-
-TInt CDirectPrintModel::PropertyCount()
- {
- return iProperties.Count();
- }
-
-void CDirectPrintModel::SetPrinterDataL(TInt aIndex, const TDirectPrintPrinterData& aData)
- {
- if ((aIndex >= 0) && (iPrinters.Count() > aIndex))
- {
- iPrinters[aIndex] = aData;
- }
- else
- {
- iPrinters.AppendL(aData);
- }
- iPrinterInfoReader->ReadPrinterInfoL();
- }
-
-void CDirectPrintModel::SetPrinterDataL(const TDirectPrintPrinterData& aData)
- {
- TBool isSet = EFalse;
- TInt count = PrinterCount();
- for (TInt i=0; i<count; i++)
- {
- TInt printerId = iPrinters[i].iPrinterId;
- if (printerId == aData.iPrinterId)
- {
- iPrinters[i] = aData;
- isSet = ETrue;
- break;
- }
- }
-
- if (!isSet)
- {
- iPrinters.AppendL(aData);
- }
- iPrinterInfoReader->ReadPrinterInfoL();
- }
-
-void CDirectPrintModel::SetBearerDataL(TInt aIndex, const TDirectPrintBearerData& aData)
- {
- if ((aIndex >= 0) && (iBearers.Count() > aIndex))
- {
- iBearers[aIndex] = aData;
- }
- else
- {
- iBearers.AppendL(aData);
- }
- }
-
-void CDirectPrintModel::SetBearerDataL(const TDirectPrintBearerData& aData)
- {
- TBool isSet = EFalse;
- TInt count = BearerCount();
- for (TInt i=0; i<count; i++)
- {
- TInt printerId = iBearers[i].iPrinterId;
- if (printerId == aData.iPrinterId)
- {
- iBearers[i] = aData;
- isSet = ETrue;
- break;
- }
- }
-
- if (!isSet)
- {
- iBearers.AppendL(aData);
- }
- }
-
-void CDirectPrintModel::SetPrinterPropertyL(TInt aIndex, CPrinterProperty* aProperty)
- {
- if ((aIndex >= 0) && (iProperties.Count() > aIndex))
- {
- *(iProperties[aIndex]) = *aProperty;
- delete aProperty;
- }
- else
- {
- iProperties.AppendL(aProperty);
- }
- }
-
-void CDirectPrintModel::SetPrinterPropertyL(CPrinterProperty* aProperty)
- {
- CPrinterProperty* property = GetCurrentPrinterPropertyL(TUid::Uid(aProperty->iApplicationId));
- if (property)
- {
- TInt count1, count2;
- count1 = property->iPropertyItems.Count();
- count2 = aProperty->iPropertyItems.Count();
- for (TInt i=0; i<count2; i++)
- {
- TBool isSet = EFalse;
- for (TInt j=0; j<count1; j++)
- {
- if (aProperty->iPropertyItems[i].iItemId == property->iPropertyItems[j].iItemId)
- {
- (property->iPropertyItems[j]) = (aProperty->iPropertyItems[i]);
- isSet = ETrue;
- break;
- }
- }
-
- if (!isSet)
- {
- property->iPropertyItems.AppendL(aProperty->iPropertyItems[i]);
- }
- }
- delete aProperty;
- }
- else
- {
- iProperties.AppendL(aProperty);
- }
- }
-
-void CDirectPrintModel::SetCurrentPrinter(TInt aIndex)
- {
- iCurrentPrinter = aIndex;
- }
-
-void CDirectPrintModel::SetCurrentBearer(TInt aIndex)
- {
- iCurrentBearer = aIndex;
- }
-
-void CDirectPrintModel::SetCurrentProperty(TInt aIndex)
- {
- iCurrentProperty = aIndex;
- }
-
-void CDirectPrintModel::SetSelectPrinter(TInt aIndex)
- {
- iSelectPrinter = aIndex;
- }
-
-void CDirectPrintModel::AddPrinterDataL(const TDirectPrintPrinterData& aData)
- {
- iPrinters.AppendL(aData);
- }
-
-void CDirectPrintModel::AddBearerDataL(const TDirectPrintBearerData& aData)
- {
- iBearers.AppendL(aData);
- }
-
-void CDirectPrintModel::AddPrinterPropertyL(CPrinterProperty* aProperty)
- {
- iProperties.AppendL(aProperty);
- }
-
-void CDirectPrintModel::RemovePrinterDataL(TInt aIndex)
- {
- if ((aIndex >= 0) && (iPrinters.Count() > aIndex))
- {
- iPrinters.Remove(aIndex);
- }
- }
-
-void CDirectPrintModel::RemoveBearerDataL(TInt aIndex)
- {
- if ((aIndex >= 0) && (iBearers.Count() > aIndex))
- {
- iBearers.Remove(aIndex);
- }
- }
-
-void CDirectPrintModel::RemovePrinterPropertyL(TInt aIndex)
- {
- if ((aIndex >= 0) && (iProperties.Count() > aIndex))
- {
- iProperties.Remove(aIndex);
- }
- }
-
-void CDirectPrintModel::MoveTopPrinterDataL(TInt aIndex)
- {
- if ((aIndex >= 0) && (iPrinters.Count() > aIndex))
- {
- TDirectPrintPrinterData data = iPrinters[aIndex];
- iPrinters.Remove(aIndex);
- iPrinters.Insert(data, 0);
- }
- iPrinterInfoReader->ReadPrinterInfoL();
- }
-
-TUid CDirectPrintModel::SettingUIPluginUidL()
- {
- TDirectPrintPrinterData printer;
- GetPrinterDataL(0, printer);
-
- return iPrinterInfoReader->GetSettingUIPluginL(printer.iTypeName);
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* This model class for DirectPrint data managemrnt
+*
+*/
+
+#include <bautils.h>
+#include <eikenv.h>
+#include <s32file.h>
+#include <DirectPrintApp.rsg>
+
+#include "clog.h"
+#include "DirectPrintModel.h"
+#include "directprintprinterinforeader.h"
+
+CDirectPrintModel::CDirectPrintModel()
+ : iCurrentPrinter(-1)
+ , iCurrentBearer(-1)
+ , iCurrentProperty(-1)
+ , iMaxPrinterId(0)
+ {
+ }
+
+CDirectPrintModel::~CDirectPrintModel()
+ {
+ iPrinters.Close();
+ iBearers.Close();
+ iProperties.ResetAndDestroy();
+ delete iPrinterInfoReader;
+ }
+
+CDirectPrintModel* CDirectPrintModel::NewL()
+ {
+ CDirectPrintModel* self = CDirectPrintModel::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintModel* CDirectPrintModel::NewLC()
+ {
+ CDirectPrintModel* self = new(ELeave) CDirectPrintModel();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintModel::ConstructL()
+ {
+ LOG("CDirectPrintModel::ConstructL BEGIN");
+ iFs = CEikonEnv::Static()->FsSession();
+
+ // Read setting data
+ InternalizeDataL();
+
+ iPrinterInfoReader = CDirectPrintPrinterInfoReader::NewL(*this);
+ iPrinterInfoReader->ReadPrinterInfoL();
+
+ LOG("CDirectPrintModel::ConstructL END");
+ }
+
+void CDirectPrintModel::InitializeDataL()
+ {
+ }
+
+void CDirectPrintModel::InternalizeDataL()
+ {
+ LOG("CDirectPrintModel::ConstructL BEGIN");
+ TFileName fileName;
+ CEikonEnv::Static()->ReadResourceAsDes16L(fileName, R_DIRECTPRINT_SETTING_FILE);
+
+ if (BaflUtils::FileExists(iFs, fileName))
+ {
+ LOG("CDirectPrintModel::ConstructL file exist");
+ RFileReadStream stream;
+ TInt err = stream.Open(iFs, fileName, EFileRead|EFileStream);
+
+ TInt count, i;
+ count = stream.ReadInt32L();
+ for (i=0; i<count; i++)
+ {
+ TDirectPrintPrinterData data;
+ data.InternalizeL(stream);
+ AddPrinterDataL(data);
+ if (iMaxPrinterId < data.iPrinterId)
+ {
+ iMaxPrinterId = data.iPrinterId;
+ }
+ }
+ iCurrentPrinter = stream.ReadInt32L();
+
+ count = stream.ReadInt32L();
+ for (i=0; i<count; i++)
+ {
+ TDirectPrintBearerData data;
+ data.InternalizeL(stream);
+ AddBearerDataL(data);
+ }
+ iCurrentBearer = stream.ReadInt32L();
+
+ count = stream.ReadInt32L();
+ for (i=0; i<count; i++)
+ {
+ CPrinterProperty* property = new(ELeave)CPrinterProperty();
+ CleanupStack::PushL(property);
+ property->InternalizeL(stream);
+ CleanupStack::Pop(property);
+ AddPrinterPropertyL(property);
+ }
+ iCurrentProperty = stream.ReadInt32L();
+
+ stream.Close();
+ }
+ LOG("CDirectPrintModel::ConstructL END");
+ }
+
+void CDirectPrintModel::ExternalizeDataL()
+ {
+ LOG("CDirectPrintModel::ExternalizeDataL START");
+ TFileName fileName;
+ CEikonEnv::Static()->ReadResourceAsDes16L(fileName, R_DIRECTPRINT_SETTING_FILE);
+
+ RFileWriteStream stream;
+ TInt err = stream.Replace(iFs, fileName, EFileWrite|EFileStream);
+
+ TInt count, i;
+ count = iPrinters.Count();
+ stream.WriteInt32L(count);
+ for (i=0; i<count; i++)
+ {
+ iPrinters[i].ExternalizeL(stream);
+ }
+ stream.WriteInt32L(iCurrentPrinter);
+
+ count = iBearers.Count();
+ stream.WriteInt32L(count);
+ for (i=0; i<count; i++)
+ {
+ iBearers[i].ExternalizeL(stream);
+ }
+ stream.WriteInt32L(iCurrentBearer);
+
+ count = iProperties.Count();
+ stream.WriteInt32L(count);
+ for (i=0; i<count; i++)
+ {
+ iProperties[i]->ExternalizeL(stream);
+ }
+ stream.WriteInt32L(iCurrentProperty);
+
+ stream.Close();
+ LOG("CDirectPrintModel::ExternalizeDataL END");
+ }
+
+void CDirectPrintModel::GetPrinterDataL(TInt aIndex, TDirectPrintPrinterData& aData)
+ {
+ aData = iPrinters[aIndex];
+ }
+
+void CDirectPrintModel::GetBearerDataL(TInt aIndex, TDirectPrintBearerData& aData)
+ {
+ aData = iBearers[aIndex];
+ }
+
+void CDirectPrintModel::GetCurrentBearerDataL(TDirectPrintBearerData& aData)
+ {
+ TDirectPrintPrinterData printer;
+ GetPrinterDataL(CurrentPrinter(), printer);
+
+ TInt count = BearerCount();
+ for (TInt i=0; i<count; i++)
+ {
+ TInt printerId = iBearers[i].iPrinterId;
+ if (printerId == printer.iPrinterId)
+ {
+ aData = iBearers[i];
+ break;
+ }
+ }
+ }
+
+void CDirectPrintModel::GetSelectedBearerDataL(TDirectPrintBearerData& aData)
+ {
+ TDirectPrintPrinterData printer;
+ GetPrinterDataL(SelectPrinter(), printer);
+
+ TInt count = BearerCount();
+ for (TInt i=0; i<count; i++)
+ {
+ TInt printerId = iBearers[i].iPrinterId;
+ if (printerId == printer.iPrinterId)
+ {
+ aData = iBearers[i];
+ break;
+ }
+ }
+ }
+
+CPrinterProperty* CDirectPrintModel::GetPrinterPropertyL(TInt aIndex)
+ {
+ return iProperties[aIndex];
+ }
+
+CPrinterProperty* CDirectPrintModel::GetCurrentPrinterPropertyL(TUid aAppUid)
+ {
+ CPrinterProperty* property = NULL;
+ TDirectPrintPrinterData printer;
+ GetPrinterDataL(CurrentPrinter(), printer);
+
+ TInt index, count;
+ count = PropertyCount();
+ for (index=0; index<count; index++)
+ {
+ TInt printerId = iProperties[index]->iPrinterId;
+ TUid uid = TUid::Uid(iProperties[index]->iApplicationId);
+ if ((printerId == printer.iPrinterId) &&
+ (uid == aAppUid))
+ {
+ if (iCurrentProperty != index)
+ {
+ iCurrentProperty = index;
+ }
+ property = iProperties[index];
+ break;
+ }
+ }
+
+ return property;
+ }
+
+TInt CDirectPrintModel::GetCurrentPrinterIdL()
+ {
+ TDirectPrintPrinterData printer;
+ GetPrinterDataL(CurrentPrinter(), printer);
+ return printer.iPrinterId;
+ }
+
+TInt CDirectPrintModel::CurrentPrinter()
+ {
+ return iCurrentPrinter;
+ }
+
+TInt CDirectPrintModel::CurrentBearer()
+ {
+ return iCurrentBearer;
+ }
+
+TInt CDirectPrintModel::CurrentProperty()
+ {
+ return iCurrentProperty;
+ }
+
+TInt CDirectPrintModel::SelectPrinter()
+ {
+ return iSelectPrinter;
+ }
+
+TInt CDirectPrintModel::PrinterCount()
+ {
+ return iPrinters.Count();
+ }
+
+TInt CDirectPrintModel::BearerCount()
+ {
+ return iBearers.Count();
+ }
+
+TInt CDirectPrintModel::PropertyCount()
+ {
+ return iProperties.Count();
+ }
+
+void CDirectPrintModel::SetPrinterDataL(TInt aIndex, const TDirectPrintPrinterData& aData)
+ {
+ if ((aIndex >= 0) && (iPrinters.Count() > aIndex))
+ {
+ iPrinters[aIndex] = aData;
+ }
+ else
+ {
+ iPrinters.AppendL(aData);
+ }
+ iPrinterInfoReader->ReadPrinterInfoL();
+ }
+
+void CDirectPrintModel::SetPrinterDataL(const TDirectPrintPrinterData& aData)
+ {
+ TBool isSet = EFalse;
+ TInt count = PrinterCount();
+ for (TInt i=0; i<count; i++)
+ {
+ TInt printerId = iPrinters[i].iPrinterId;
+ if (printerId == aData.iPrinterId)
+ {
+ iPrinters[i] = aData;
+ isSet = ETrue;
+ break;
+ }
+ }
+
+ if (!isSet)
+ {
+ iPrinters.AppendL(aData);
+ }
+ iPrinterInfoReader->ReadPrinterInfoL();
+ }
+
+void CDirectPrintModel::SetBearerDataL(TInt aIndex, const TDirectPrintBearerData& aData)
+ {
+ if ((aIndex >= 0) && (iBearers.Count() > aIndex))
+ {
+ iBearers[aIndex] = aData;
+ }
+ else
+ {
+ iBearers.AppendL(aData);
+ }
+ }
+
+void CDirectPrintModel::SetBearerDataL(const TDirectPrintBearerData& aData)
+ {
+ TBool isSet = EFalse;
+ TInt count = BearerCount();
+ for (TInt i=0; i<count; i++)
+ {
+ TInt printerId = iBearers[i].iPrinterId;
+ if (printerId == aData.iPrinterId)
+ {
+ iBearers[i] = aData;
+ isSet = ETrue;
+ break;
+ }
+ }
+
+ if (!isSet)
+ {
+ iBearers.AppendL(aData);
+ }
+ }
+
+void CDirectPrintModel::SetPrinterPropertyL(TInt aIndex, CPrinterProperty* aProperty)
+ {
+ if ((aIndex >= 0) && (iProperties.Count() > aIndex))
+ {
+ *(iProperties[aIndex]) = *aProperty;
+ delete aProperty;
+ }
+ else
+ {
+ iProperties.AppendL(aProperty);
+ }
+ }
+
+void CDirectPrintModel::SetPrinterPropertyL(CPrinterProperty* aProperty)
+ {
+ CPrinterProperty* property = GetCurrentPrinterPropertyL(TUid::Uid(aProperty->iApplicationId));
+ if (property)
+ {
+ TInt count1, count2;
+ count1 = property->iPropertyItems.Count();
+ count2 = aProperty->iPropertyItems.Count();
+ for (TInt i=0; i<count2; i++)
+ {
+ TBool isSet = EFalse;
+ for (TInt j=0; j<count1; j++)
+ {
+ if (aProperty->iPropertyItems[i].iItemId == property->iPropertyItems[j].iItemId)
+ {
+ (property->iPropertyItems[j]) = (aProperty->iPropertyItems[i]);
+ isSet = ETrue;
+ break;
+ }
+ }
+
+ if (!isSet)
+ {
+ property->iPropertyItems.AppendL(aProperty->iPropertyItems[i]);
+ }
+ }
+ delete aProperty;
+ }
+ else
+ {
+ iProperties.AppendL(aProperty);
+ }
+ }
+
+void CDirectPrintModel::SetCurrentPrinter(TInt aIndex)
+ {
+ iCurrentPrinter = aIndex;
+ }
+
+void CDirectPrintModel::SetCurrentBearer(TInt aIndex)
+ {
+ iCurrentBearer = aIndex;
+ }
+
+void CDirectPrintModel::SetCurrentProperty(TInt aIndex)
+ {
+ iCurrentProperty = aIndex;
+ }
+
+void CDirectPrintModel::SetSelectPrinter(TInt aIndex)
+ {
+ iSelectPrinter = aIndex;
+ }
+
+void CDirectPrintModel::AddPrinterDataL(const TDirectPrintPrinterData& aData)
+ {
+ iPrinters.AppendL(aData);
+ }
+
+void CDirectPrintModel::AddBearerDataL(const TDirectPrintBearerData& aData)
+ {
+ iBearers.AppendL(aData);
+ }
+
+void CDirectPrintModel::AddPrinterPropertyL(CPrinterProperty* aProperty)
+ {
+ iProperties.AppendL(aProperty);
+ }
+
+void CDirectPrintModel::RemovePrinterDataL(TInt aIndex)
+ {
+ if ((aIndex >= 0) && (iPrinters.Count() > aIndex))
+ {
+ iPrinters.Remove(aIndex);
+ }
+ }
+
+void CDirectPrintModel::RemoveBearerDataL(TInt aIndex)
+ {
+ if ((aIndex >= 0) && (iBearers.Count() > aIndex))
+ {
+ iBearers.Remove(aIndex);
+ }
+ }
+
+void CDirectPrintModel::RemovePrinterPropertyL(TInt aIndex)
+ {
+ if ((aIndex >= 0) && (iProperties.Count() > aIndex))
+ {
+ iProperties.Remove(aIndex);
+ }
+ }
+
+void CDirectPrintModel::MoveTopPrinterDataL(TInt aIndex)
+ {
+ if ((aIndex >= 0) && (iPrinters.Count() > aIndex))
+ {
+ TDirectPrintPrinterData data = iPrinters[aIndex];
+ iPrinters.Remove(aIndex);
+ iPrinters.Insert(data, 0);
+ }
+ iPrinterInfoReader->ReadPrinterInfoL();
+ }
+
+TUid CDirectPrintModel::SettingUIPluginUidL()
+ {
+ TDirectPrintPrinterData printer;
+ GetPrinterDataL(0, printer);
+
+ return iPrinterInfoReader->GetSettingUIPluginL(printer.iTypeName);
+ }
+
--- a/DirectPrint/DirectPrintApp/src/directprintmsgutil.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintmsgutil.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,70 +1,70 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* This class is the message utility class of DirectPrint
-*
-*/
-
-#include <bautils.h>
-#include <eikenv.h>
-#include <s32file.h>
-#include <aknnotewrappers.h>
-#include <DirectPrintApp.rsg>
-
-#include "clog.h"
-#include "DirectPrintMsgUtil.h"
-
-CDirectPrintMsgUtil::CDirectPrintMsgUtil()
- {
- }
-
-CDirectPrintMsgUtil::~CDirectPrintMsgUtil()
- {
- }
-
-CDirectPrintMsgUtil* CDirectPrintMsgUtil::NewL()
- {
- CDirectPrintMsgUtil* self = CDirectPrintMsgUtil::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintMsgUtil* CDirectPrintMsgUtil::NewLC()
- {
- CDirectPrintMsgUtil* self = new(ELeave) CDirectPrintMsgUtil();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintMsgUtil::ConstructL()
- {
- LOG("CDirectPrintMsgUtil::ConstructL BEGIN");
-
- LOG("CDirectPrintMsgUtil::ConstructL END");
- }
-
-// -----------------------------------------------------------------------------
-// Displays error note
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintMsgUtil::DisplayErrorNoteL( TInt aResourceId )
- {
- HBufC* noteBuf = CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
- CAknErrorNote* errorNote = new( ELeave ) CAknErrorNote();
- errorNote->ExecuteLD( *noteBuf );
- CleanupStack::PopAndDestroy( noteBuf );
- }
-
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* This class is the message utility class of DirectPrint
+*
+*/
+
+#include <bautils.h>
+#include <eikenv.h>
+#include <s32file.h>
+#include <aknnotewrappers.h>
+#include <DirectPrintApp.rsg>
+
+#include "clog.h"
+#include "DirectPrintMsgUtil.h"
+
+CDirectPrintMsgUtil::CDirectPrintMsgUtil()
+ {
+ }
+
+CDirectPrintMsgUtil::~CDirectPrintMsgUtil()
+ {
+ }
+
+CDirectPrintMsgUtil* CDirectPrintMsgUtil::NewL()
+ {
+ CDirectPrintMsgUtil* self = CDirectPrintMsgUtil::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintMsgUtil* CDirectPrintMsgUtil::NewLC()
+ {
+ CDirectPrintMsgUtil* self = new(ELeave) CDirectPrintMsgUtil();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintMsgUtil::ConstructL()
+ {
+ LOG("CDirectPrintMsgUtil::ConstructL BEGIN");
+
+ LOG("CDirectPrintMsgUtil::ConstructL END");
+ }
+
+// -----------------------------------------------------------------------------
+// Displays error note
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintMsgUtil::DisplayErrorNoteL( TInt aResourceId )
+ {
+ HBufC* noteBuf = CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
+ CAknErrorNote* errorNote = new( ELeave ) CAknErrorNote();
+ errorNote->ExecuteLD( *noteBuf );
+ CleanupStack::PopAndDestroy( noteBuf );
+ }
+
+// End of file
--- a/DirectPrint/DirectPrintApp/src/directprintprinterdata.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintprinterdata.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,77 +1,77 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <s32strm.h>
-
-#include "directprintprinterdata.h"
-
-EXPORT_C void TDirectPrintPrinterData::InternalizeL(RReadStream& aStream)
- {
- iPrinterId = aStream.ReadInt32L();
- TInt length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iPrinterName, length);
- }
- iPrinterDriver = TUid::Uid(aStream.ReadInt32L());
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iDriverName, length);
- }
- iPrinterType = aStream.ReadInt32L();
- length = aStream.ReadInt32L();
- if(length > 0)
- {
- aStream.ReadL(iTypeName, length);
- }
- }
-
-EXPORT_C void TDirectPrintPrinterData::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt32L(iPrinterId);
- aStream.WriteInt32L(iPrinterName.Length());
- if (iPrinterName.Length() > 0)
- {
- aStream.WriteL(iPrinterName);
- }
- aStream.WriteInt32L(iPrinterDriver.iUid);
- aStream.WriteInt32L(iDriverName.Length());
- if (iDriverName.Length() > 0)
- {
- aStream.WriteL(iDriverName);
- }
- aStream.WriteInt32L(iPrinterType);
- aStream.WriteInt32L(iTypeName.Length());
- if (iTypeName.Length() > 0)
- {
- aStream.WriteL(iTypeName);
- }
- }
-
-EXPORT_C TDirectPrintPrinterData& TDirectPrintPrinterData::operator=(const TDirectPrintPrinterData& aData)
- {
- iPrinterId = aData.iPrinterId;
- iPrinterName.Copy(aData.iPrinterName);
- iPrinterDriver = aData.iPrinterDriver;
- iDriverName.Copy(aData.iDriverName);
- iPrinterType = aData.iPrinterType;
- iTypeName.Copy(aData.iTypeName);
- return *this;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <s32strm.h>
+
+#include "directprintprinterdata.h"
+
+EXPORT_C void TDirectPrintPrinterData::InternalizeL(RReadStream& aStream)
+ {
+ iPrinterId = aStream.ReadInt32L();
+ TInt length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iPrinterName, length);
+ }
+ iPrinterDriver = TUid::Uid(aStream.ReadInt32L());
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iDriverName, length);
+ }
+ iPrinterType = aStream.ReadInt32L();
+ length = aStream.ReadInt32L();
+ if(length > 0)
+ {
+ aStream.ReadL(iTypeName, length);
+ }
+ }
+
+EXPORT_C void TDirectPrintPrinterData::ExternalizeL(RWriteStream& aStream) const
+ {
+ aStream.WriteInt32L(iPrinterId);
+ aStream.WriteInt32L(iPrinterName.Length());
+ if (iPrinterName.Length() > 0)
+ {
+ aStream.WriteL(iPrinterName);
+ }
+ aStream.WriteInt32L(iPrinterDriver.iUid);
+ aStream.WriteInt32L(iDriverName.Length());
+ if (iDriverName.Length() > 0)
+ {
+ aStream.WriteL(iDriverName);
+ }
+ aStream.WriteInt32L(iPrinterType);
+ aStream.WriteInt32L(iTypeName.Length());
+ if (iTypeName.Length() > 0)
+ {
+ aStream.WriteL(iTypeName);
+ }
+ }
+
+EXPORT_C TDirectPrintPrinterData& TDirectPrintPrinterData::operator=(const TDirectPrintPrinterData& aData)
+ {
+ iPrinterId = aData.iPrinterId;
+ iPrinterName.Copy(aData.iPrinterName);
+ iPrinterDriver = aData.iPrinterDriver;
+ iDriverName.Copy(aData.iDriverName);
+ iPrinterType = aData.iPrinterType;
+ iTypeName.Copy(aData.iTypeName);
+ return *this;
+ }
+
--- a/DirectPrint/DirectPrintApp/src/directprintprinterinforeader.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintprinterinforeader.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,246 +1,246 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <f32file.h>
-#include <xmlengelement.h>
-#include <xmlengattr.h>
-#include <xmlengnodelist.h>
-
-#include "DirectPrintModel.h"
-#include "directprintprinterinforeader.h"
-
-CDirectPrintPrinterInfoReader::CDirectPrintPrinterInfoReader(CDirectPrintModel& aModel)
- : iModel(aModel)
- {
- }
-
-CDirectPrintPrinterInfoReader::~CDirectPrintPrinterInfoReader()
- {
- if (iXmlEngDoc.NotNull())
- {
- iXmlEngDoc.Close();
- iXmlParser.Close();
- iXmlDomImpl.Close();
- }
- }
-
-CDirectPrintPrinterInfoReader* CDirectPrintPrinterInfoReader::NewL(CDirectPrintModel& aModel)
- {
- CDirectPrintPrinterInfoReader* self = CDirectPrintPrinterInfoReader::NewLC(aModel);
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintPrinterInfoReader* CDirectPrintPrinterInfoReader::NewLC(CDirectPrintModel& aModel)
- {
- CDirectPrintPrinterInfoReader* self = new(ELeave) CDirectPrintPrinterInfoReader(aModel);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintPrinterInfoReader::ConstructL()
- {
- iXmlDomImpl.OpenL();
- TInt err = iXmlParser.Open(iXmlDomImpl);
- User::LeaveIfError(err);
- }
-
-void CDirectPrintPrinterInfoReader::ReadPrinterInfoL()
- {
- TDirectPrintPrinterData printer;
- iModel.GetPrinterDataL(0, printer);
-
- _LIT( KFilePath, "c:\\printers\\*.xml");
- _LIT( KFilePathFormat, "c:\\printers\\%S");
-
- CDir* fileList;
- const TUint KMask = KEntryAttNormal|KEntryAttReadOnly|KEntryAttHidden|KEntryAttSystem;
- User::LeaveIfError(CEikonEnv::Static()->FsSession().GetDir(KFilePath, KMask, ESortByName, fileList));
- CleanupStack::PushL(fileList);
-
- TInt count = fileList->Count();
- for (TInt i=0; i<count; i++)
- {
- TFileName filename;
- filename.Format(KFilePathFormat, &(*fileList)[i].iName);
- ReadXmlDataL(filename);
-
- // Check XML file for current printer driver
- if (CheckManufactureL(printer.iDriverName))
- {
- break;
- }
- else
- {
- iXmlEngDoc.Close();
- }
- }
-
- CleanupStack::PopAndDestroy(); // fileList
- }
-
-void CDirectPrintPrinterInfoReader::GetManufactureL(TDes& aManufacture)
- {
- if (iXmlEngDoc.NotNull())
- {
- _LIT8(KElementManufacture, "Manufacture");
-
- TXmlEngElement element = iXmlEngDoc.DocumentElement().FirstChild().AsElement();
-
- while (element.NotNull())
- {
- TBuf<50> elementName;
- elementName.Copy(element.Name());
- if (element.Name().CompareF(KElementManufacture()) == 0)
- {
- aManufacture.Copy(element.Value());
- break;
- }
-
- element = element.NextSibling().AsElement();
- }
- }
- }
-
-TUid CDirectPrintPrinterInfoReader::GetDriverL(TDesC& aId)
- {
- TUint uidValue = 0;
-
- if (iXmlEngDoc.NotNull())
- {
- _LIT8(KElementPrinters, "Printers");
- _LIT8(KElementPrinter, "Printer");
- _LIT8(KElementDriver, "Driver");
- _LIT8(KAttributeId, "id");
-
- TXmlEngElement element = iXmlEngDoc.DocumentElement().FirstChild().AsElement();
-
- while (element.NotNull())
- {
- TBuf<50> elementName;
- elementName.Copy(element.Name());
- if (element.Name().CompareF(KElementPrinters()) == 0)
- {
- element = element.FirstChild().AsElement();
- }
- else if (element.Name().CompareF(KElementPrinter()) == 0)
- {
- TBool next = EFalse;
- TBuf<50> attrValue;
- TXmlEngAttr attr = element.AttributeNodeL(KAttributeId);
- attrValue.Copy(attr.Value());
- if (aId.CompareF(attrValue) == 0)
- {
- element = element.FirstChild().AsElement();
- next = ETrue;
- }
-
- if (!next)
- {
- element = element.NextSibling().AsElement();
- }
- }
- else if (element.Name().CompareF(KElementDriver()) == 0)
- {
- TLex8 lex(element.Value());
- lex.Val(uidValue, EHex);
- break;
- }
- else
- {
- element = element.NextSibling().AsElement();
- }
- }
- }
-
- return TUid::Uid(uidValue);
- }
-
-TUid CDirectPrintPrinterInfoReader::GetSettingUIPluginL(TDesC& aId)
- {
- TUint uidValue = 0;
-
- if (iXmlEngDoc.NotNull())
- {
- _LIT8(KElementPrinters, "Printers");
- _LIT8(KElementPrinter, "Printer");
- _LIT8(KElementSettingUIPlugin, "SettingUIPlugin");
- _LIT8(KAttributeId, "id");
-
- TXmlEngElement element = iXmlEngDoc.DocumentElement().FirstChild().AsElement();
-
- while (element.NotNull())
- {
- if (element.Name().CompareF(KElementPrinters()) == 0)
- {
- element = element.FirstChild().AsElement();
- }
- else if (element.Name().CompareF(KElementPrinter()) == 0)
- {
- TBool next = EFalse;
- TBuf<50> attrValue;
- TXmlEngAttr attr = element.AttributeNodeL(KAttributeId);
- attrValue.Copy(attr.Value());
- if (aId.CompareF(attrValue) == 0)
- {
- element = element.FirstChild().AsElement();
- next = ETrue;
- }
-
- if (!next)
- {
- element = element.NextSibling().AsElement();
- }
- }
- else if (element.Name().CompareF(KElementSettingUIPlugin()) == 0)
- {
- TLex8 lex(element.Value());
- lex.Val(uidValue, EHex);
- break;
- }
-
- element = element.NextSibling().AsElement();
- }
- }
-
- return TUid::Uid(uidValue);
- }
-
-void CDirectPrintPrinterInfoReader::ReadXmlDataL(const TDesC& aFilename)
- {
- if (iXmlEngDoc.NotNull())
- {
- iXmlEngDoc.Close();
- }
- iXmlEngDoc = iXmlParser.ParseFileL(aFilename);
- }
-
-TBool CDirectPrintPrinterInfoReader::CheckManufactureL(const TDesC& aParam)
- {
- TBool res = EFalse;
- TBuf<50> buf;
- GetManufactureL(buf);
- if (aParam.Compare(buf) == 0)
- {
- res = ETrue;
- }
- return res;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <eikenv.h>
+#include <f32file.h>
+#include <xmlengelement.h>
+#include <xmlengattr.h>
+#include <xmlengnodelist.h>
+
+#include "DirectPrintModel.h"
+#include "directprintprinterinforeader.h"
+
+CDirectPrintPrinterInfoReader::CDirectPrintPrinterInfoReader(CDirectPrintModel& aModel)
+ : iModel(aModel)
+ {
+ }
+
+CDirectPrintPrinterInfoReader::~CDirectPrintPrinterInfoReader()
+ {
+ if (iXmlEngDoc.NotNull())
+ {
+ iXmlEngDoc.Close();
+ iXmlParser.Close();
+ iXmlDomImpl.Close();
+ }
+ }
+
+CDirectPrintPrinterInfoReader* CDirectPrintPrinterInfoReader::NewL(CDirectPrintModel& aModel)
+ {
+ CDirectPrintPrinterInfoReader* self = CDirectPrintPrinterInfoReader::NewLC(aModel);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintPrinterInfoReader* CDirectPrintPrinterInfoReader::NewLC(CDirectPrintModel& aModel)
+ {
+ CDirectPrintPrinterInfoReader* self = new(ELeave) CDirectPrintPrinterInfoReader(aModel);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintPrinterInfoReader::ConstructL()
+ {
+ iXmlDomImpl.OpenL();
+ TInt err = iXmlParser.Open(iXmlDomImpl);
+ User::LeaveIfError(err);
+ }
+
+void CDirectPrintPrinterInfoReader::ReadPrinterInfoL()
+ {
+ TDirectPrintPrinterData printer;
+ iModel.GetPrinterDataL(0, printer);
+
+ _LIT( KFilePath, "c:\\printers\\*.xml");
+ _LIT( KFilePathFormat, "c:\\printers\\%S");
+
+ CDir* fileList;
+ const TUint KMask = KEntryAttNormal|KEntryAttReadOnly|KEntryAttHidden|KEntryAttSystem;
+ User::LeaveIfError(CEikonEnv::Static()->FsSession().GetDir(KFilePath, KMask, ESortByName, fileList));
+ CleanupStack::PushL(fileList);
+
+ TInt count = fileList->Count();
+ for (TInt i=0; i<count; i++)
+ {
+ TFileName filename;
+ filename.Format(KFilePathFormat, &(*fileList)[i].iName);
+ ReadXmlDataL(filename);
+
+ // Check XML file for current printer driver
+ if (CheckManufactureL(printer.iDriverName))
+ {
+ break;
+ }
+ else
+ {
+ iXmlEngDoc.Close();
+ }
+ }
+
+ CleanupStack::PopAndDestroy(); // fileList
+ }
+
+void CDirectPrintPrinterInfoReader::GetManufactureL(TDes& aManufacture)
+ {
+ if (iXmlEngDoc.NotNull())
+ {
+ _LIT8(KElementManufacture, "Manufacture");
+
+ TXmlEngElement element = iXmlEngDoc.DocumentElement().FirstChild().AsElement();
+
+ while (element.NotNull())
+ {
+ TBuf<50> elementName;
+ elementName.Copy(element.Name());
+ if (element.Name().CompareF(KElementManufacture()) == 0)
+ {
+ aManufacture.Copy(element.Value());
+ break;
+ }
+
+ element = element.NextSibling().AsElement();
+ }
+ }
+ }
+
+TUid CDirectPrintPrinterInfoReader::GetDriverL(TDesC& aId)
+ {
+ TUint uidValue = 0;
+
+ if (iXmlEngDoc.NotNull())
+ {
+ _LIT8(KElementPrinters, "Printers");
+ _LIT8(KElementPrinter, "Printer");
+ _LIT8(KElementDriver, "Driver");
+ _LIT8(KAttributeId, "id");
+
+ TXmlEngElement element = iXmlEngDoc.DocumentElement().FirstChild().AsElement();
+
+ while (element.NotNull())
+ {
+ TBuf<50> elementName;
+ elementName.Copy(element.Name());
+ if (element.Name().CompareF(KElementPrinters()) == 0)
+ {
+ element = element.FirstChild().AsElement();
+ }
+ else if (element.Name().CompareF(KElementPrinter()) == 0)
+ {
+ TBool next = EFalse;
+ TBuf<50> attrValue;
+ TXmlEngAttr attr = element.AttributeNodeL(KAttributeId);
+ attrValue.Copy(attr.Value());
+ if (aId.CompareF(attrValue) == 0)
+ {
+ element = element.FirstChild().AsElement();
+ next = ETrue;
+ }
+
+ if (!next)
+ {
+ element = element.NextSibling().AsElement();
+ }
+ }
+ else if (element.Name().CompareF(KElementDriver()) == 0)
+ {
+ TLex8 lex(element.Value());
+ lex.Val(uidValue, EHex);
+ break;
+ }
+ else
+ {
+ element = element.NextSibling().AsElement();
+ }
+ }
+ }
+
+ return TUid::Uid(uidValue);
+ }
+
+TUid CDirectPrintPrinterInfoReader::GetSettingUIPluginL(TDesC& aId)
+ {
+ TUint uidValue = 0;
+
+ if (iXmlEngDoc.NotNull())
+ {
+ _LIT8(KElementPrinters, "Printers");
+ _LIT8(KElementPrinter, "Printer");
+ _LIT8(KElementSettingUIPlugin, "SettingUIPlugin");
+ _LIT8(KAttributeId, "id");
+
+ TXmlEngElement element = iXmlEngDoc.DocumentElement().FirstChild().AsElement();
+
+ while (element.NotNull())
+ {
+ if (element.Name().CompareF(KElementPrinters()) == 0)
+ {
+ element = element.FirstChild().AsElement();
+ }
+ else if (element.Name().CompareF(KElementPrinter()) == 0)
+ {
+ TBool next = EFalse;
+ TBuf<50> attrValue;
+ TXmlEngAttr attr = element.AttributeNodeL(KAttributeId);
+ attrValue.Copy(attr.Value());
+ if (aId.CompareF(attrValue) == 0)
+ {
+ element = element.FirstChild().AsElement();
+ next = ETrue;
+ }
+
+ if (!next)
+ {
+ element = element.NextSibling().AsElement();
+ }
+ }
+ else if (element.Name().CompareF(KElementSettingUIPlugin()) == 0)
+ {
+ TLex8 lex(element.Value());
+ lex.Val(uidValue, EHex);
+ break;
+ }
+
+ element = element.NextSibling().AsElement();
+ }
+ }
+
+ return TUid::Uid(uidValue);
+ }
+
+void CDirectPrintPrinterInfoReader::ReadXmlDataL(const TDesC& aFilename)
+ {
+ if (iXmlEngDoc.NotNull())
+ {
+ iXmlEngDoc.Close();
+ }
+ iXmlEngDoc = iXmlParser.ParseFileL(aFilename);
+ }
+
+TBool CDirectPrintPrinterInfoReader::CheckManufactureL(const TDesC& aParam)
+ {
+ TBool res = EFalse;
+ TBuf<50> buf;
+ GetManufactureL(buf);
+ if (aParam.Compare(buf) == 0)
+ {
+ res = ETrue;
+ }
+ return res;
+ }
+
--- a/DirectPrint/DirectPrintApp/src/directprintproperty.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintproperty.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,70 +1,70 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <s32strm.h>
-
-#include "directprintproperty.h"
-
-EXPORT_C CPrinterProperty::CPrinterProperty()
- {
- }
-
-EXPORT_C CPrinterProperty::~CPrinterProperty()
- {
- iPropertyItems.Close();
- }
-
-EXPORT_C void CPrinterProperty::InternalizeL(RReadStream& aStream)
- {
- iPrinterId = aStream.ReadInt32L();
- iApplicationId = aStream.ReadInt32L();
- iPropertyItems.Reset();
- TInt count = aStream.ReadInt32L();
- for (TInt i=0; i<count; i++)
- {
- TDirectPrintPropertyData item;
- item.InternalizeL(aStream);
- iPropertyItems.Append(item);
- }
- }
-
-EXPORT_C void CPrinterProperty::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt32L(iPrinterId);
- aStream.WriteInt32L(iApplicationId);
- TInt count = iPropertyItems.Count();
- aStream.WriteInt32L(count);
- for (TInt i=0; i<count; i++)
- {
- iPropertyItems[i].ExternalizeL(aStream);
- }
- }
-
-EXPORT_C CPrinterProperty& CPrinterProperty::operator=(const CPrinterProperty& aProperty)
- {
- iPrinterId = aProperty.iPrinterId;
- iApplicationId = aProperty.iApplicationId;
- iPropertyItems.Reset();
- TInt count = aProperty.iPropertyItems.Count();
- for (TInt i=0; i<count; i++)
- {
- iPropertyItems.Append(aProperty.iPropertyItems[i]);
- }
- return *this;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <s32strm.h>
+
+#include "directprintproperty.h"
+
+EXPORT_C CPrinterProperty::CPrinterProperty()
+ {
+ }
+
+EXPORT_C CPrinterProperty::~CPrinterProperty()
+ {
+ iPropertyItems.Close();
+ }
+
+EXPORT_C void CPrinterProperty::InternalizeL(RReadStream& aStream)
+ {
+ iPrinterId = aStream.ReadInt32L();
+ iApplicationId = aStream.ReadInt32L();
+ iPropertyItems.Reset();
+ TInt count = aStream.ReadInt32L();
+ for (TInt i=0; i<count; i++)
+ {
+ TDirectPrintPropertyData item;
+ item.InternalizeL(aStream);
+ iPropertyItems.Append(item);
+ }
+ }
+
+EXPORT_C void CPrinterProperty::ExternalizeL(RWriteStream& aStream) const
+ {
+ aStream.WriteInt32L(iPrinterId);
+ aStream.WriteInt32L(iApplicationId);
+ TInt count = iPropertyItems.Count();
+ aStream.WriteInt32L(count);
+ for (TInt i=0; i<count; i++)
+ {
+ iPropertyItems[i].ExternalizeL(aStream);
+ }
+ }
+
+EXPORT_C CPrinterProperty& CPrinterProperty::operator=(const CPrinterProperty& aProperty)
+ {
+ iPrinterId = aProperty.iPrinterId;
+ iApplicationId = aProperty.iApplicationId;
+ iPropertyItems.Reset();
+ TInt count = aProperty.iPropertyItems.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ iPropertyItems.Append(aProperty.iPropertyItems[i]);
+ }
+ return *this;
+ }
+
--- a/DirectPrint/DirectPrintApp/src/directprintuipluginmgr.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/src/directprintuipluginmgr.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,87 +1,87 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* This class for DirectPrint UI_Plugin managemrnt
-*
-*/
-
-// User includes
-#include "DirectPrintUiPluginMgr.h"
-#include "DirectPrintModel.h"
-#include "DirectPrintUiPlugin.h"
-#include "directprintprinterdata.h"
-
-CDirectPrintUiPluginMgr::CDirectPrintUiPluginMgr(CDirectPrintModel& aModel)
- : iModel(aModel)
- , iPlugin(NULL)
- {
- }
-
-CDirectPrintUiPluginMgr::~CDirectPrintUiPluginMgr()
- {
- delete iPlugin;
- }
-
-CDirectPrintUiPluginMgr* CDirectPrintUiPluginMgr::NewL(CDirectPrintModel& aModel)
- {
- CDirectPrintUiPluginMgr* self = CDirectPrintUiPluginMgr::NewLC(aModel);
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintUiPluginMgr* CDirectPrintUiPluginMgr::NewLC(CDirectPrintModel& aModel)
- {
- CDirectPrintUiPluginMgr* self = new(ELeave) CDirectPrintUiPluginMgr(aModel);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintUiPluginMgr::ConstructL()
- {
- iCurrentPluginUid = TUid::Uid(0);
- }
-
-void CDirectPrintUiPluginMgr::LoadPluginL(TUid aUid)
- {
- delete iPlugin;
- iPlugin = NULL;
- if (aUid.iUid > 0)
- {
- iPlugin = CDirectPrintUiPlugin::NewL(aUid);
- }
- }
-
-void CDirectPrintUiPluginMgr::LoadPluginL(const TDesC8& aKey)
- {
- delete iPlugin;
- iPlugin = NULL;
- if (aKey.Length() > 0)
- {
- iPlugin = CDirectPrintUiPlugin::NewL(aKey);
- }
- }
-
-CDirectPrintUiPlugin* CDirectPrintUiPluginMgr::CurrentPluginL()
- {
- TUid uid = iModel.SettingUIPluginUidL();
- if (iCurrentPluginUid != uid)
- {
- LoadPluginL(uid);
- iCurrentPluginUid = uid;
- }
-
- return iPlugin;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* This class for DirectPrint UI_Plugin managemrnt
+*
+*/
+
+// User includes
+#include "DirectPrintUiPluginMgr.h"
+#include "DirectPrintModel.h"
+#include "DirectPrintUiPlugin.h"
+#include "directprintprinterdata.h"
+
+CDirectPrintUiPluginMgr::CDirectPrintUiPluginMgr(CDirectPrintModel& aModel)
+ : iModel(aModel)
+ , iPlugin(NULL)
+ {
+ }
+
+CDirectPrintUiPluginMgr::~CDirectPrintUiPluginMgr()
+ {
+ delete iPlugin;
+ }
+
+CDirectPrintUiPluginMgr* CDirectPrintUiPluginMgr::NewL(CDirectPrintModel& aModel)
+ {
+ CDirectPrintUiPluginMgr* self = CDirectPrintUiPluginMgr::NewLC(aModel);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintUiPluginMgr* CDirectPrintUiPluginMgr::NewLC(CDirectPrintModel& aModel)
+ {
+ CDirectPrintUiPluginMgr* self = new(ELeave) CDirectPrintUiPluginMgr(aModel);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintUiPluginMgr::ConstructL()
+ {
+ iCurrentPluginUid = TUid::Uid(0);
+ }
+
+void CDirectPrintUiPluginMgr::LoadPluginL(TUid aUid)
+ {
+ delete iPlugin;
+ iPlugin = NULL;
+ if (aUid.iUid > 0)
+ {
+ iPlugin = CDirectPrintUiPlugin::NewL(aUid);
+ }
+ }
+
+void CDirectPrintUiPluginMgr::LoadPluginL(const TDesC8& aKey)
+ {
+ delete iPlugin;
+ iPlugin = NULL;
+ if (aKey.Length() > 0)
+ {
+ iPlugin = CDirectPrintUiPlugin::NewL(aKey);
+ }
+ }
+
+CDirectPrintUiPlugin* CDirectPrintUiPluginMgr::CurrentPluginL()
+ {
+ TUid uid = iModel.SettingUIPluginUidL();
+ if (iCurrentPluginUid != uid)
+ {
+ LoadPluginL(uid);
+ iCurrentPluginUid = uid;
+ }
+
+ return iPlugin;
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintlistbox.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintlistbox.h Tue May 11 14:10:02 2010 +0800
@@ -1,128 +1,128 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTLISTBOX_H__
-#define __DIRECTPRINTLISTBOX_H__
-
-// System includes
-#include <aknlists.h>
-
-// User includes
-#include "DirectPrintListObserver.h"
-
-// Class declaration
-/**
- * Listbox class
- * more_complete_description
- */
-class CDirectPrintListBox : public CCoeControl, public MEikListBoxObserver
- {
-public:
- // Data types
- /** The index of controls */
- enum TControls
- {
- EListBox = 0,
- ELastControl
- };
-
-public:
- /** Constructors */
- static CDirectPrintListBox* NewL(const TRect& aRect, CDesCArray* aItemArray);
- static CDirectPrintListBox* NewLC(const TRect& aRect, CDesCArray* aItemArray);
- /** Destructor */
- virtual ~CDirectPrintListBox();
-
-public:
- /**
- * From CCoeControl.
- * Get count of component controls.
- *
- * @return Count of component controls.
- */
- TInt CountComponentControls() const;
- /**
- * From CCoeControl.
- * Get component controls.
- *
- * @param aIndex The index of controls
- * @return Component control.
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
-public:
- /**
- * From MEikListBoxObserver.
- * Handles listbox events.
- *
- * @param aListBox Pointer to listbox control.
- * @param aEventType Event type.
- */
- void HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType);
-
-public: // New Function
- /**
- * Set listbox items.
- *
- * @param aItemArray Pointer to item array.
- */
- void SetItemL(CDesCArray* aItemArray);
- /**
- * Set list observer.
- *
- * @param aObserver Pointer to list observer.
- */
- void SetListObserver(MDirectPrintListObserver* aObserver);
- /**
- * Delete current item from listbox.
- *
- * @return Result value.
- */
- TInt DeleteCurrentItemL();
- /**
- * redraw listbox.
- */
- void RedrawListL();
- /**
- * Get the index of current item.
- *
- * @return The index of current listbox item.
- */
- TInt CurrentIndex();
- /**
- * Set focus.
- *
- * @param aIndex The index of listbox item
- */
- void SetFocusL(TInt aIndex);
-
-private:
- CDirectPrintListBox();
- void ConstructL(const TRect& aRect, CDesCArray* aItemArray);
-
- void InitializeControlsL();
-
-private:
- /** Listbox control. */
- CAknDoubleStyleListBox* iListBox; // Owend Data
- /** Pointer to list observer. */
- MDirectPrintListObserver* iListObserver;
- };
-
-#endif // __DIRECTPRINTLISTBOX_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTLISTBOX_H__
+#define __DIRECTPRINTLISTBOX_H__
+
+// System includes
+#include <aknlists.h>
+
+// User includes
+#include "DirectPrintListObserver.h"
+
+// Class declaration
+/**
+ * Listbox class
+ * more_complete_description
+ */
+class CDirectPrintListBox : public CCoeControl, public MEikListBoxObserver
+ {
+public:
+ // Data types
+ /** The index of controls */
+ enum TControls
+ {
+ EListBox = 0,
+ ELastControl
+ };
+
+public:
+ /** Constructors */
+ static CDirectPrintListBox* NewL(const TRect& aRect, CDesCArray* aItemArray);
+ static CDirectPrintListBox* NewLC(const TRect& aRect, CDesCArray* aItemArray);
+ /** Destructor */
+ virtual ~CDirectPrintListBox();
+
+public:
+ /**
+ * From CCoeControl.
+ * Get count of component controls.
+ *
+ * @return Count of component controls.
+ */
+ TInt CountComponentControls() const;
+ /**
+ * From CCoeControl.
+ * Get component controls.
+ *
+ * @param aIndex The index of controls
+ * @return Component control.
+ */
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+public:
+ /**
+ * From MEikListBoxObserver.
+ * Handles listbox events.
+ *
+ * @param aListBox Pointer to listbox control.
+ * @param aEventType Event type.
+ */
+ void HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType);
+
+public: // New Function
+ /**
+ * Set listbox items.
+ *
+ * @param aItemArray Pointer to item array.
+ */
+ void SetItemL(CDesCArray* aItemArray);
+ /**
+ * Set list observer.
+ *
+ * @param aObserver Pointer to list observer.
+ */
+ void SetListObserver(MDirectPrintListObserver* aObserver);
+ /**
+ * Delete current item from listbox.
+ *
+ * @return Result value.
+ */
+ TInt DeleteCurrentItemL();
+ /**
+ * redraw listbox.
+ */
+ void RedrawListL();
+ /**
+ * Get the index of current item.
+ *
+ * @return The index of current listbox item.
+ */
+ TInt CurrentIndex();
+ /**
+ * Set focus.
+ *
+ * @param aIndex The index of listbox item
+ */
+ void SetFocusL(TInt aIndex);
+
+private:
+ CDirectPrintListBox();
+ void ConstructL(const TRect& aRect, CDesCArray* aItemArray);
+
+ void InitializeControlsL();
+
+private:
+ /** Listbox control. */
+ CAknDoubleStyleListBox* iListBox; // Owend Data
+ /** Pointer to list observer. */
+ MDirectPrintListObserver* iListObserver;
+ };
+
+#endif // __DIRECTPRINTLISTBOX_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintlistobserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintlistobserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,39 +1,39 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTLISTOBSERVER_H__
-#define __DIRECTPRINTLISTOBSERVER_H__
-
-// Class declaration
-/**
- * List observer mix-in class
- * more_complete_description
- */
-class MDirectPrintListObserver
- {
-public:
- /**
- * Handles index.
- *
- * @param aIndex The index of selected item.
- */
- virtual void HandleListIndexL(TInt aIndex) = 0;
- };
-
-#endif // __DIRECTPRINTLISTOBSERVER_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTLISTOBSERVER_H__
+#define __DIRECTPRINTLISTOBSERVER_H__
+
+// Class declaration
+/**
+ * List observer mix-in class
+ * more_complete_description
+ */
+class MDirectPrintListObserver
+ {
+public:
+ /**
+ * Handles index.
+ *
+ * @param aIndex The index of selected item.
+ */
+ virtual void HandleListIndexL(TInt aIndex) = 0;
+ };
+
+#endif // __DIRECTPRINTLISTOBSERVER_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintlistview.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintlistview.h Tue May 11 14:10:02 2010 +0800
@@ -1,90 +1,90 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __PRINTERLISTVIEW_H__
-#define __PRINTERLISTVIEW_H__
-
-// System includes
-#include <aknlists.h>
-#include <akntoolbarobserver.h>
-
-// User includes
-#include "DirectPrintViewBase.h"
-#include "DirectPrintListBox.h"
-
-// Class declaration
-/**
- * List view class
- * more_complete_description
- */
-class CDirectPrintListView : public CDirectPrintViewBase, public MAknToolbarObserver
- {
-public:
- /** Constructors */
- static CDirectPrintListView* NewL();
- static CDirectPrintListView* NewLC();
- /** Destructor */
- ~CDirectPrintListView();
-
-public:
- /**
- * From CAknView.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void HandleCommandL(TInt aCommand);
-
-public:
- /**
- * From MDirectPrintListObserver.
- * Handles index.
- *
- * @param aIndex The index of list items.
- */
- void HandleListIndexL(TInt aIndex);
-
-public: // from MAknToolbarObserver
- /**
- * From MAknToolbarObserver.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void OfferToolbarEventL(TInt aCommand);
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-private:
- CDirectPrintListView();
- void ConstructL();
-
- void LoadListDataL();
- void PrepareNewDataL();
-
-private:
- /** Pointer to listbox. */
- CDirectPrintListBox* iListBox; // Owend Data
- /** Pointer to item array. */
- CDesCArray* iItemArray;
- };
-
-#endif // __PRINTERLISTVIEW_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __PRINTERLISTVIEW_H__
+#define __PRINTERLISTVIEW_H__
+
+// System includes
+#include <aknlists.h>
+#include <akntoolbarobserver.h>
+
+// User includes
+#include "DirectPrintViewBase.h"
+#include "DirectPrintListBox.h"
+
+// Class declaration
+/**
+ * List view class
+ * more_complete_description
+ */
+class CDirectPrintListView : public CDirectPrintViewBase, public MAknToolbarObserver
+ {
+public:
+ /** Constructors */
+ static CDirectPrintListView* NewL();
+ static CDirectPrintListView* NewLC();
+ /** Destructor */
+ ~CDirectPrintListView();
+
+public:
+ /**
+ * From CAknView.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void HandleCommandL(TInt aCommand);
+
+public:
+ /**
+ * From MDirectPrintListObserver.
+ * Handles index.
+ *
+ * @param aIndex The index of list items.
+ */
+ void HandleListIndexL(TInt aIndex);
+
+public: // from MAknToolbarObserver
+ /**
+ * From MAknToolbarObserver.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void OfferToolbarEventL(TInt aCommand);
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+private:
+ CDirectPrintListView();
+ void ConstructL();
+
+ void LoadListDataL();
+ void PrepareNewDataL();
+
+private:
+ /** Pointer to listbox. */
+ CDirectPrintListBox* iListBox; // Owend Data
+ /** Pointer to item array. */
+ CDesCArray* iItemArray;
+ };
+
+#endif // __PRINTERLISTVIEW_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintmainview.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintmainview.h Tue May 11 14:10:02 2010 +0800
@@ -1,100 +1,100 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __PRINTMAINVIEW_H__
-#define __PRINTMAINVIEW_H__
-
-// System includes
-#include <aknlists.h>
-#include <akntoolbarobserver.h>
-
-// User includes
-#include "DirectPrintViewBase.h"
-#include "DirectPrintListBox.h"
-
-// Class declaration
-/**
- * Main view class
- * more_complete_description
- */
-class CDirectPrintMainView : public CDirectPrintViewBase, public MAknToolbarObserver
- {
-private:
- // Data types
- /** The index of list items */
- enum
- {
- EItemPrinter,
- EItemBearer,
- EItemSetting
- };
-
-public:
- /** Constructors */
- static CDirectPrintMainView* NewL();
- static CDirectPrintMainView* NewLC();
- /** Destructor */
- ~CDirectPrintMainView();
-
-public: // from CAknView
- /**
- * From CAknView.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void HandleCommandL(TInt aCommand);
-
-public:
- /**
- * From MDirectPrintListObserver.
- * Handles index.
- *
- * @param aIndex The index of list items.
- */
- void HandleListIndexL(TInt aIndex);
-
-public:
- /**
- * From MAknToolbarObserver.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void OfferToolbarEventL(TInt aCommand);
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-private:
- CDirectPrintMainView();
- void ConstructL();
-
- void LoadListDataL();
- void MakePropertyStringL(TDes& aProperty);
-
-private:
- /** Pointer to listbox. */
- CDirectPrintListBox* iListBox; // Owend Data
- /** Pointer to item array. */
- CDesCArray* iItemArray;
- };
-
-#endif // __PRINTMAINVIEW_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __PRINTMAINVIEW_H__
+#define __PRINTMAINVIEW_H__
+
+// System includes
+#include <aknlists.h>
+#include <akntoolbarobserver.h>
+
+// User includes
+#include "DirectPrintViewBase.h"
+#include "DirectPrintListBox.h"
+
+// Class declaration
+/**
+ * Main view class
+ * more_complete_description
+ */
+class CDirectPrintMainView : public CDirectPrintViewBase, public MAknToolbarObserver
+ {
+private:
+ // Data types
+ /** The index of list items */
+ enum
+ {
+ EItemPrinter,
+ EItemBearer,
+ EItemSetting
+ };
+
+public:
+ /** Constructors */
+ static CDirectPrintMainView* NewL();
+ static CDirectPrintMainView* NewLC();
+ /** Destructor */
+ ~CDirectPrintMainView();
+
+public: // from CAknView
+ /**
+ * From CAknView.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void HandleCommandL(TInt aCommand);
+
+public:
+ /**
+ * From MDirectPrintListObserver.
+ * Handles index.
+ *
+ * @param aIndex The index of list items.
+ */
+ void HandleListIndexL(TInt aIndex);
+
+public:
+ /**
+ * From MAknToolbarObserver.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void OfferToolbarEventL(TInt aCommand);
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+private:
+ CDirectPrintMainView();
+ void ConstructL();
+
+ void LoadListDataL();
+ void MakePropertyStringL(TDes& aProperty);
+
+private:
+ /** Pointer to listbox. */
+ CDirectPrintListBox* iListBox; // Owend Data
+ /** Pointer to item array. */
+ CDesCArray* iItemArray;
+ };
+
+#endif // __PRINTMAINVIEW_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintpreviewcontrol.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintpreviewcontrol.h Tue May 11 14:10:02 2010 +0800
@@ -1,254 +1,254 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPREVIEWCONTROL_H__
-#define __DIRECTPRINTPREVIEWCONTROL_H__
-
-// System includes
-#include <eikbctrl.h>
-#include <prnprev.h>
-
-// Forward declarations
-class CPrintSetup;
-class TPrintPreviewFormat;
-class MPageRegionPrinter;
-class MPrintProcessObserver;
-
-// Class declaration
-/**
- * Preview control class
- * more_complete_description
- */
-class CDirectPrintPreviewControl : public CEikBorderedControl
- , public MCoeControlObserver
- {
-public:
- // Data types
- /** The index of zoom level */
- enum TPreviewZoomLevel
- {
- EPreviewZoomLevel1, // display into view area
- EPreviewZoomLevel2,
- EPreviewZoomLevel3,
- EPreviewZoomLevel4,
- EPreviewZoomLevel5,
- EPreviewZoomLevelMax
- };
-
-public:
- /** Constructors */
- static CDirectPrintPreviewControl* NewL(const CCoeControl* aParent);
- static CDirectPrintPreviewControl* NewLC(const CCoeControl* aParent);
- /** Destructor */
- virtual ~CDirectPrintPreviewControl();
-
-public:
- /**
- * Set observer.
- *
- * @param aObserver Pointer to observer.
- */
- void SetPreviewImageObserver(MPrintProcessObserver* aObserver);
-
- /**
- * Initialize display format.
- *
- * @param aPrintSetup Setup information.
- * @param aBodyPrinter Body printer.
- * @param aFormat Display format information.
- * @param aNumPagesInDoc Number of all pages.
- * @param aFirstPageToDisplay Page number of first display.
- * @param aNumPagesToView Number of pages to view.
- * @param aMarginState Margin information.
- */
- void InitializeFormat( CPrintSetup& aPrintSetup,
- MPageRegionPrinter& aBodyPrinter,
- TPrintPreviewFormat& aFormat,
- TInt& aNumPagesInDoc,
- TInt& aFirstPageToDisplay,
- TInt aNumPagesToView,
- CPrintPreviewImage::TMarginState& aMarginState);
- /**
- * Set display format.
- *
- * @param aFirstPageToDisplay Page number of first display.
- * @param aNumPagesToView Count of pages to view.
- */
- void SetFormatAndDrawL(TInt& aFirstPageToDisplay,TInt& aNumPagesToView);
- /**
- * Set margin.
- *
- * @param aMarginState Margin information.
- */
- void SetMarginAndDrawL(CPrintPreviewImage::TMarginState aMarginState);
- /**
- * Set number of bands.
- *
- * @param aNumBands Number of bands.
- */
- void SetNumBands(TInt aNumBands);
- /**
- * Set page number.
- *
- * @param aNumPagesInDoc Number of all pages.
- * @param aFirstPageToDisplay Page number of first display.
- * @param aNumPagesToView Number of pages to view.
- */
- void SetNumPagesInDoc(TInt aNumPagesInDoc,TInt aFirstPageToDisplay,TInt aNumPagesToView);
-
-public: // from CCoeControl
- /**
- * From CCoeControl.
- * Activate.
- */
- void ActivateL();
- /**
- * From CCoeControl.
- * Draw display.
- *
- * @param aRect Rect to draw.
- */
- void Draw(const TRect& aRect) const;
-
- /**
- * From CCoeControl.
- * Handles key events.
- *
- * @param aKeyEvent The code of key event.
- * @param aType The code of event.
- * @return The code of key response.
- */
- TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
- /**
- * From CCoeControl.
- * Constructor.
- *
- * @param aReader ResourceReader.
- */
-// void ConstructFromResourceL(TResourceReader& aReader);
- /**
- * Set flag.
- *
- * @param aDraw Draw flag.
- */
- void SetDrawFlag(TBool aDraw);
- /**
- * Get flag.
- *
- * @return Draw flag.
- */
- TBool DrawFlag();
- /**
- * From CCoeControl.
- * Get input capabilities.
- *
- * @return Input capabilities.
- */
- TCoeInputCapabilities InputCapabilities() const;
-
- // for zoom
- /**
- * Set zoom level.
- *
- * @param aZoomLevel Zoom level.
- */
- void SetZoomLevel(TInt aZoomLevel);
- /**
- * Get zoom level.
- *
- * @return Zoom level.
- */
- TInt GetZoomLebel();
- /**
- * Increment zoom level.
- */
- void IncrementZoomLevel();
- /**
- * Decrement zoom level.
- */
- void DecrementZoomLevel();
-
-protected: // from CCoeControl
- void SizeChanged();
- TInt CountComponentControls() const;
- CCoeControl* ComponentControl(TInt aIndex) const;
-
- void WriteInternalStateL(RWriteStream& aWriteStream) const;
-
- /**
- * From CoeControl, HandlePointerEventL.
- * Called by framework when a pointer touch event occurs.
- * Note: although this method is compatible with earlier SDKs,
- * it will not be called in SDKs without Touch support.
- * @param aPointerEvent the information about this event
- */
- virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-private: // from CCoeControl
-// void SetContainerWindowL(const CCoeControl& aParent);
-
-private: // from MCoeControlObserver
- void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEvent);
-
-private:
- CDirectPrintPreviewControl();
- void ConstructL(const CCoeControl* aParent);
-
-private:
- void CreateScrollButtonsL();
- void DrawPreview(const TRect& aRect);
- void SwitchFirstPageToDisplayL(TInt& aNewFirstPageToDisplay);
- void DrawButtons() const;
- void SetZoomLevelAndDispalyRect(TInt aZoomLevel);
- void CreatePreviewImageL();
-
-private:
- /** Pointer to button controls. */
-// CEikScrollButton* iButton[2];
- /** Pointer to image. */
- CPrintPreviewImage* iPreview;
- /** Pointer to setup information. */
- CPrintSetup* iPrintSetup;
- /** Pointer to body printer. */
- MPageRegionPrinter* iBodyPrinter;
- /** Pointer to format information. */
- TPrintPreviewFormat* iPrintPreviewFormat;
- /** Pointer to page number. */
- TInt* iFirstPageToDisplay;
- /** Number of all pages. */
- TInt iNumPagesInDoc;
- /** Number of pages to view. */
- TInt iNumPagesToView;
- /** Number of bands. */
- TInt iNumBands;
- /** Margin information. */
- CPrintPreviewImage::TMarginState iMarginState;
- /** Display rect. */
- TRect iDisplayRect;
- /** Draw flag. */
- TBool iPreviewDraw;
- /** Display point. */
- TPoint iDisplayPoint;
- /** Position of pointer. */
- TPoint iPointerDownPos;
- /** Zoom level. */
- TInt iZoomLevel; // set TPreviewZoomLevel
- };
-
-#endif // __DIRECTPRINTPREVIEWCONTROL_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPREVIEWCONTROL_H__
+#define __DIRECTPRINTPREVIEWCONTROL_H__
+
+// System includes
+#include <eikbctrl.h>
+#include <prnprev.h>
+
+// Forward declarations
+class CPrintSetup;
+class TPrintPreviewFormat;
+class MPageRegionPrinter;
+class MPrintProcessObserver;
+
+// Class declaration
+/**
+ * Preview control class
+ * more_complete_description
+ */
+class CDirectPrintPreviewControl : public CEikBorderedControl
+ , public MCoeControlObserver
+ {
+public:
+ // Data types
+ /** The index of zoom level */
+ enum TPreviewZoomLevel
+ {
+ EPreviewZoomLevel1, // display into view area
+ EPreviewZoomLevel2,
+ EPreviewZoomLevel3,
+ EPreviewZoomLevel4,
+ EPreviewZoomLevel5,
+ EPreviewZoomLevelMax
+ };
+
+public:
+ /** Constructors */
+ static CDirectPrintPreviewControl* NewL(const CCoeControl* aParent);
+ static CDirectPrintPreviewControl* NewLC(const CCoeControl* aParent);
+ /** Destructor */
+ virtual ~CDirectPrintPreviewControl();
+
+public:
+ /**
+ * Set observer.
+ *
+ * @param aObserver Pointer to observer.
+ */
+ void SetPreviewImageObserver(MPrintProcessObserver* aObserver);
+
+ /**
+ * Initialize display format.
+ *
+ * @param aPrintSetup Setup information.
+ * @param aBodyPrinter Body printer.
+ * @param aFormat Display format information.
+ * @param aNumPagesInDoc Number of all pages.
+ * @param aFirstPageToDisplay Page number of first display.
+ * @param aNumPagesToView Number of pages to view.
+ * @param aMarginState Margin information.
+ */
+ void InitializeFormat( CPrintSetup& aPrintSetup,
+ MPageRegionPrinter& aBodyPrinter,
+ TPrintPreviewFormat& aFormat,
+ TInt& aNumPagesInDoc,
+ TInt& aFirstPageToDisplay,
+ TInt aNumPagesToView,
+ CPrintPreviewImage::TMarginState& aMarginState);
+ /**
+ * Set display format.
+ *
+ * @param aFirstPageToDisplay Page number of first display.
+ * @param aNumPagesToView Count of pages to view.
+ */
+ void SetFormatAndDrawL(TInt& aFirstPageToDisplay,TInt& aNumPagesToView);
+ /**
+ * Set margin.
+ *
+ * @param aMarginState Margin information.
+ */
+ void SetMarginAndDrawL(CPrintPreviewImage::TMarginState aMarginState);
+ /**
+ * Set number of bands.
+ *
+ * @param aNumBands Number of bands.
+ */
+ void SetNumBands(TInt aNumBands);
+ /**
+ * Set page number.
+ *
+ * @param aNumPagesInDoc Number of all pages.
+ * @param aFirstPageToDisplay Page number of first display.
+ * @param aNumPagesToView Number of pages to view.
+ */
+ void SetNumPagesInDoc(TInt aNumPagesInDoc,TInt aFirstPageToDisplay,TInt aNumPagesToView);
+
+public: // from CCoeControl
+ /**
+ * From CCoeControl.
+ * Activate.
+ */
+ void ActivateL();
+ /**
+ * From CCoeControl.
+ * Draw display.
+ *
+ * @param aRect Rect to draw.
+ */
+ void Draw(const TRect& aRect) const;
+
+ /**
+ * From CCoeControl.
+ * Handles key events.
+ *
+ * @param aKeyEvent The code of key event.
+ * @param aType The code of event.
+ * @return The code of key response.
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ /**
+ * From CCoeControl.
+ * Constructor.
+ *
+ * @param aReader ResourceReader.
+ */
+// void ConstructFromResourceL(TResourceReader& aReader);
+ /**
+ * Set flag.
+ *
+ * @param aDraw Draw flag.
+ */
+ void SetDrawFlag(TBool aDraw);
+ /**
+ * Get flag.
+ *
+ * @return Draw flag.
+ */
+ TBool DrawFlag();
+ /**
+ * From CCoeControl.
+ * Get input capabilities.
+ *
+ * @return Input capabilities.
+ */
+ TCoeInputCapabilities InputCapabilities() const;
+
+ // for zoom
+ /**
+ * Set zoom level.
+ *
+ * @param aZoomLevel Zoom level.
+ */
+ void SetZoomLevel(TInt aZoomLevel);
+ /**
+ * Get zoom level.
+ *
+ * @return Zoom level.
+ */
+ TInt GetZoomLebel();
+ /**
+ * Increment zoom level.
+ */
+ void IncrementZoomLevel();
+ /**
+ * Decrement zoom level.
+ */
+ void DecrementZoomLevel();
+
+protected: // from CCoeControl
+ void SizeChanged();
+ TInt CountComponentControls() const;
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+ void WriteInternalStateL(RWriteStream& aWriteStream) const;
+
+ /**
+ * From CoeControl, HandlePointerEventL.
+ * Called by framework when a pointer touch event occurs.
+ * Note: although this method is compatible with earlier SDKs,
+ * it will not be called in SDKs without Touch support.
+ * @param aPointerEvent the information about this event
+ */
+ virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+private: // from CCoeControl
+// void SetContainerWindowL(const CCoeControl& aParent);
+
+private: // from MCoeControlObserver
+ void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEvent);
+
+private:
+ CDirectPrintPreviewControl();
+ void ConstructL(const CCoeControl* aParent);
+
+private:
+ void CreateScrollButtonsL();
+ void DrawPreview(const TRect& aRect);
+ void SwitchFirstPageToDisplayL(TInt& aNewFirstPageToDisplay);
+ void DrawButtons() const;
+ void SetZoomLevelAndDispalyRect(TInt aZoomLevel);
+ void CreatePreviewImageL();
+
+private:
+ /** Pointer to button controls. */
+// CEikScrollButton* iButton[2];
+ /** Pointer to image. */
+ CPrintPreviewImage* iPreview;
+ /** Pointer to setup information. */
+ CPrintSetup* iPrintSetup;
+ /** Pointer to body printer. */
+ MPageRegionPrinter* iBodyPrinter;
+ /** Pointer to format information. */
+ TPrintPreviewFormat* iPrintPreviewFormat;
+ /** Pointer to page number. */
+ TInt* iFirstPageToDisplay;
+ /** Number of all pages. */
+ TInt iNumPagesInDoc;
+ /** Number of pages to view. */
+ TInt iNumPagesToView;
+ /** Number of bands. */
+ TInt iNumBands;
+ /** Margin information. */
+ CPrintPreviewImage::TMarginState iMarginState;
+ /** Display rect. */
+ TRect iDisplayRect;
+ /** Draw flag. */
+ TBool iPreviewDraw;
+ /** Display point. */
+ TPoint iDisplayPoint;
+ /** Position of pointer. */
+ TPoint iPointerDownPos;
+ /** Zoom level. */
+ TInt iZoomLevel; // set TPreviewZoomLevel
+ };
+
+#endif // __DIRECTPRINTPREVIEWCONTROL_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintpreviewview.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintpreviewview.h Tue May 11 14:10:02 2010 +0800
@@ -1,111 +1,111 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __PREVIEWVIEW_H__
-#define __PREVIEWVIEW_H__
-
-// System includes
-#include <aknview.h>
-#include <akntoolbarobserver.h>
-#include <prninf.h>
-#include <PRNPREV.H>
-
-// User includes
-#include "DirectPrintViewBase.h"
-
-// Forward declarations
-class CDirectPrintPreviewControl;
-
-// Class declaration
-/**
- * Preview view class
- * more_complete_description
- */
-class CDirectPrintPreviewView : public CDirectPrintViewBase
- , public MAknToolbarObserver
- , public MPrintProcessObserver
- {
-public:
- /** Constructors */
- static CDirectPrintPreviewView* NewL();
- static CDirectPrintPreviewView* NewLC();
- /** Destructor */
- ~CDirectPrintPreviewView();
-
-public:
- /**
- * From CAknView.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void HandleCommandL(TInt aCommand);
- /**
- * From CAknView.
- * Get the id of view.
- *
- * @return The id of view.
- */
- TUid Id() const;
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-public:
- /**
- * From MAknToolbarObserver.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void OfferToolbarEventL(TInt aCommand);
-
-private: // from MPrintProcessObserver
- void NotifyPrintStarted(TPrintParameters aPrintParams);
- void NotifyPrintEnded(TInt anErrorCode);
- void NotifyBandPrinted(TInt aPercentageOfPagePrinted, TInt aCurrentPageNum, TInt aCurrentCopyNum);
-
-private:
- CDirectPrintPreviewView();
- void ConstructL();
-
- void ChangeVisibleState();
-
-private:
- /** Pointer to preview control. */
- CDirectPrintPreviewControl* iPrevCtrl;
-
- /** Parameter. */
- TPrintParameters iParameters;
- /** Preview format. */
- TPrintPreviewFormat iPrintPreviewFormat;
- /** Number of pages in document. */
- TInt iNumPagesInDoc;
- /** Display flag. */
- TInt iFirstPageToDisplay;
- /** Number of pages. */
- TInt iNumPagesToView;
- /** Number of bands. */
- TInt iNumBands;
- /** Margin state. */
- CPrintPreviewImage::TMarginState iMarginState;
- };
-
-#endif // __PREVIEWVIEW_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __PREVIEWVIEW_H__
+#define __PREVIEWVIEW_H__
+
+// System includes
+#include <aknview.h>
+#include <akntoolbarobserver.h>
+#include <prninf.h>
+#include <PRNPREV.H>
+
+// User includes
+#include "DirectPrintViewBase.h"
+
+// Forward declarations
+class CDirectPrintPreviewControl;
+
+// Class declaration
+/**
+ * Preview view class
+ * more_complete_description
+ */
+class CDirectPrintPreviewView : public CDirectPrintViewBase
+ , public MAknToolbarObserver
+ , public MPrintProcessObserver
+ {
+public:
+ /** Constructors */
+ static CDirectPrintPreviewView* NewL();
+ static CDirectPrintPreviewView* NewLC();
+ /** Destructor */
+ ~CDirectPrintPreviewView();
+
+public:
+ /**
+ * From CAknView.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void HandleCommandL(TInt aCommand);
+ /**
+ * From CAknView.
+ * Get the id of view.
+ *
+ * @return The id of view.
+ */
+ TUid Id() const;
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+public:
+ /**
+ * From MAknToolbarObserver.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void OfferToolbarEventL(TInt aCommand);
+
+private: // from MPrintProcessObserver
+ void NotifyPrintStarted(TPrintParameters aPrintParams);
+ void NotifyPrintEnded(TInt anErrorCode);
+ void NotifyBandPrinted(TInt aPercentageOfPagePrinted, TInt aCurrentPageNum, TInt aCurrentCopyNum);
+
+private:
+ CDirectPrintPreviewView();
+ void ConstructL();
+
+ void ChangeVisibleState();
+
+private:
+ /** Pointer to preview control. */
+ CDirectPrintPreviewControl* iPrevCtrl;
+
+ /** Parameter. */
+ TPrintParameters iParameters;
+ /** Preview format. */
+ TPrintPreviewFormat iPrintPreviewFormat;
+ /** Number of pages in document. */
+ TInt iNumPagesInDoc;
+ /** Display flag. */
+ TInt iFirstPageToDisplay;
+ /** Number of pages. */
+ TInt iNumPagesToView;
+ /** Number of bands. */
+ TInt iNumBands;
+ /** Margin state. */
+ CPrintPreviewImage::TMarginState iMarginState;
+ };
+
+#endif // __PREVIEWVIEW_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintpropertyview.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintpropertyview.h Tue May 11 14:10:02 2010 +0800
@@ -1,137 +1,137 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPROPERTYVIEW_H__
-#define __DIRECTPRINTPROPERTYVIEW_H__
-
-// System includes
-#include <aknlists.h>
-#include <akntoolbarobserver.h>
-
-// User includes
-#include "DirectPrintViewBase.h"
-#include "directprintsettinglistbox.h"
-
-// Class declaration
-/**
- * Property view class
- * more_complete_description
- */
-class CDirectPrintPropertyView : public CDirectPrintViewBase, public MAknToolbarObserver
- {
-public:
- /** Constructors */
- static CDirectPrintPropertyView* NewL();
- static CDirectPrintPropertyView* NewLC();
- /** Destructor */
- ~CDirectPrintPropertyView();
-
-public:
- /**
- * From CAknView.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void HandleCommandL(TInt aCommand);
-
-public:
- /**
- * From MAknToolbarObserver.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void OfferToolbarEventL(TInt aCommand);
-
-public: // New function
- /**
- * Process by change tab.
- *
- * @param aTabIndex The index of tab.
- */
- void ChangeTabL(TInt aTabIndex);
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-private:
- CDirectPrintPropertyView();
- void ConstructL();
-
- void LoadListL();
- void ReadDataL();
- void WriteDataL();
- void NewDataL();
-
- void LoadPaperTabL();
- void LoadPageTabL();
- void LoadMarginTabL();
- void LoadHeaderTabL();
- void LoadFooterTabL();
-
-private:
- /** Pointer to listbox. */
- CDirectPrintSettingListBox* iListBox;
- /** Index of paper size setting. */
- TInt iPaperSize;
- /** Index of orientation setting. */
- TInt iOrientation;
- /** Paper hight. */
- TInt iHight;
- /** Paper width. */
- TInt iWidth;
- /** Index of media type setting. */
- TInt iMediaType;
- /** Index of print page setting. */
- TInt iPrintPage;
- /** Print range. */
- TBuf<50> iPrintRange;
- /** Number of copies. */
- TInt iCopy;
- /** Left margin. */
- TInt iLeftMargin;
- /** Right margin. */
- TInt iRightMargin;
- /** Top margin. */
- TInt iTopMargin;
- /** Bottom margin. */
- TInt iBottomMargin;
- /** Header text. */
- TBuf<50> iHeaderText;
- /** Distance of header. */
- TInt iHeaderDistance;
- /** First page flag. */
- TInt iHeaderFirstPage;
- /** Footer text. */
- TBuf<50> iFooterText;
- /** Distance of footer. */
- TInt iFooterDistance;
- /** First page flag. */
- TInt iFooterFirstPage;
-
- /** Boaderless flag. */
- TInt iBoaderless;
-
- /** Index of tab. */
- TInt iTabIndex;
- };
-
-#endif // __DIRECTPRINTPROPERTYVIEW_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPROPERTYVIEW_H__
+#define __DIRECTPRINTPROPERTYVIEW_H__
+
+// System includes
+#include <aknlists.h>
+#include <akntoolbarobserver.h>
+
+// User includes
+#include "DirectPrintViewBase.h"
+#include "directprintsettinglistbox.h"
+
+// Class declaration
+/**
+ * Property view class
+ * more_complete_description
+ */
+class CDirectPrintPropertyView : public CDirectPrintViewBase, public MAknToolbarObserver
+ {
+public:
+ /** Constructors */
+ static CDirectPrintPropertyView* NewL();
+ static CDirectPrintPropertyView* NewLC();
+ /** Destructor */
+ ~CDirectPrintPropertyView();
+
+public:
+ /**
+ * From CAknView.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void HandleCommandL(TInt aCommand);
+
+public:
+ /**
+ * From MAknToolbarObserver.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void OfferToolbarEventL(TInt aCommand);
+
+public: // New function
+ /**
+ * Process by change tab.
+ *
+ * @param aTabIndex The index of tab.
+ */
+ void ChangeTabL(TInt aTabIndex);
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+private:
+ CDirectPrintPropertyView();
+ void ConstructL();
+
+ void LoadListL();
+ void ReadDataL();
+ void WriteDataL();
+ void NewDataL();
+
+ void LoadPaperTabL();
+ void LoadPageTabL();
+ void LoadMarginTabL();
+ void LoadHeaderTabL();
+ void LoadFooterTabL();
+
+private:
+ /** Pointer to listbox. */
+ CDirectPrintSettingListBox* iListBox;
+ /** Index of paper size setting. */
+ TInt iPaperSize;
+ /** Index of orientation setting. */
+ TInt iOrientation;
+ /** Paper hight. */
+ TInt iHight;
+ /** Paper width. */
+ TInt iWidth;
+ /** Index of media type setting. */
+ TInt iMediaType;
+ /** Index of print page setting. */
+ TInt iPrintPage;
+ /** Print range. */
+ TBuf<50> iPrintRange;
+ /** Number of copies. */
+ TInt iCopy;
+ /** Left margin. */
+ TInt iLeftMargin;
+ /** Right margin. */
+ TInt iRightMargin;
+ /** Top margin. */
+ TInt iTopMargin;
+ /** Bottom margin. */
+ TInt iBottomMargin;
+ /** Header text. */
+ TBuf<50> iHeaderText;
+ /** Distance of header. */
+ TInt iHeaderDistance;
+ /** First page flag. */
+ TInt iHeaderFirstPage;
+ /** Footer text. */
+ TBuf<50> iFooterText;
+ /** Distance of footer. */
+ TInt iFooterDistance;
+ /** First page flag. */
+ TInt iFooterFirstPage;
+
+ /** Boaderless flag. */
+ TInt iBoaderless;
+
+ /** Index of tab. */
+ TInt iTabIndex;
+ };
+
+#endif // __DIRECTPRINTPROPERTYVIEW_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintsearchresultview.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintsearchresultview.h Tue May 11 14:10:02 2010 +0800
@@ -1,125 +1,125 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __SEARCHRESULTVIEW_H__
-#define __SEARCHRESULTVIEW_H__
-
-// System includes
-#include <aknlists.h>
-#include <akntoolbarobserver.h>
-#include <AknProgressDialog.h> // CAknProgressDialog
-#include <EIKPROGI.H>
-
-// User includes
-#include "DirectPrintViewBase.h"
-#include "DirectPrintListBox.h"
-
-// Class declaration
-/**
- * Search result view class
- * more_complete_description
- */
-class CDirectPrintSearchResultView : public CDirectPrintViewBase
- , public MAknToolbarObserver
- , public MProgressDialogCallback
- {
-public:
- /** Constructors */
- static CDirectPrintSearchResultView* NewL();
- static CDirectPrintSearchResultView* NewLC();
- /** Destructor */
- ~CDirectPrintSearchResultView();
-
-public:
- /**
- * From CAknView.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void HandleCommandL(TInt aCommand);
-
-public:
- /**
- * From MDirectPrintListObserver.
- * Handles index.
- *
- * @param aIndex The index of list items.
- */
- void HandleListIndexL(TInt aIndex);
-
-public:
- /**
- * From MAknToolbarObserver.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void OfferToolbarEventL(TInt aCommand);
-
-public: // from MProgressDialogCallback
- /**
- * DialogDismissedL
- * Called when/if the dialog has been dismissed.
- * @param aButtonId
- */
- void DialogDismissedL( TInt aButtonId );
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-private:
- CDirectPrintSearchResultView();
- void ConstructL();
-
- void StartSearchProgressNoteL();
- void EndProgressNoteL();
-
- void StartSearchL();
-
- static TInt HandleTimeout(TAny* aAny);
- void HandleTimeoutL();
-
-private:
- /** Pointer to listbox. */
- CDirectPrintListBox* iListBox; // Owend Data
- /** Pointer to array. */
- CDesCArray* iItemArray;
-
- /**
- * iProgressDialog
- * Owned
- */
- CAknProgressDialog* iProgressDialog;
- /**
- * iProgressInfo
- * Not owned by CAknExNoteContainer object.
- */
- CEikProgressInfo* iProgressInfo;
- /** Pointer to progress message. */
- HBufC* iProgressMessage;
- /** Pointer to periodic timer object. */
- CPeriodic* iPeriodic;
-
- /** Count of timeout. */
- TInt iTimeoutCount;
- };
-
-#endif // __SEARCHRESULTVIEW_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __SEARCHRESULTVIEW_H__
+#define __SEARCHRESULTVIEW_H__
+
+// System includes
+#include <aknlists.h>
+#include <akntoolbarobserver.h>
+#include <AknProgressDialog.h> // CAknProgressDialog
+#include <EIKPROGI.H>
+
+// User includes
+#include "DirectPrintViewBase.h"
+#include "DirectPrintListBox.h"
+
+// Class declaration
+/**
+ * Search result view class
+ * more_complete_description
+ */
+class CDirectPrintSearchResultView : public CDirectPrintViewBase
+ , public MAknToolbarObserver
+ , public MProgressDialogCallback
+ {
+public:
+ /** Constructors */
+ static CDirectPrintSearchResultView* NewL();
+ static CDirectPrintSearchResultView* NewLC();
+ /** Destructor */
+ ~CDirectPrintSearchResultView();
+
+public:
+ /**
+ * From CAknView.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void HandleCommandL(TInt aCommand);
+
+public:
+ /**
+ * From MDirectPrintListObserver.
+ * Handles index.
+ *
+ * @param aIndex The index of list items.
+ */
+ void HandleListIndexL(TInt aIndex);
+
+public:
+ /**
+ * From MAknToolbarObserver.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void OfferToolbarEventL(TInt aCommand);
+
+public: // from MProgressDialogCallback
+ /**
+ * DialogDismissedL
+ * Called when/if the dialog has been dismissed.
+ * @param aButtonId
+ */
+ void DialogDismissedL( TInt aButtonId );
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+private:
+ CDirectPrintSearchResultView();
+ void ConstructL();
+
+ void StartSearchProgressNoteL();
+ void EndProgressNoteL();
+
+ void StartSearchL();
+
+ static TInt HandleTimeout(TAny* aAny);
+ void HandleTimeoutL();
+
+private:
+ /** Pointer to listbox. */
+ CDirectPrintListBox* iListBox; // Owend Data
+ /** Pointer to array. */
+ CDesCArray* iItemArray;
+
+ /**
+ * iProgressDialog
+ * Owned
+ */
+ CAknProgressDialog* iProgressDialog;
+ /**
+ * iProgressInfo
+ * Not owned by CAknExNoteContainer object.
+ */
+ CEikProgressInfo* iProgressInfo;
+ /** Pointer to progress message. */
+ HBufC* iProgressMessage;
+ /** Pointer to periodic timer object. */
+ CPeriodic* iPeriodic;
+
+ /** Count of timeout. */
+ TInt iTimeoutCount;
+ };
+
+#endif // __SEARCHRESULTVIEW_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintsettinglistbox.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintsettinglistbox.h Tue May 11 14:10:02 2010 +0800
@@ -1,70 +1,70 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTSETTINGLISTBOX_H__
-#define __DIRECTPRINTSETTINGLISTBOX_H__
-
-// System includes
-#include <aknsettingitemlist.h>
-
-// User includes
-#include "directprintsettinglistobserver.h"
-
-// Class declaration
-/**
- * Setting listbox class
- * more_complete_description
- */
-class CDirectPrintSettingListBox : public CAknSettingItemList
- {
-public:
- /** Constructors */
- static CDirectPrintSettingListBox* NewL(const TRect& aRect);
- static CDirectPrintSettingListBox* NewLC(const TRect& aRect);
- /** Destructor */
- virtual ~CDirectPrintSettingListBox();
-
-public: // from CAknSettingItemList
-// CAknSettingItem* CreateSettingItemL(TInt identifier);
- /**
- * Set focus.
- *
- * @param aIndex The index of listbox item
- * @param aCalledFromMenu The flag of called from menu
- */
- void EditItemL(TInt aIndex, TBool aCalledFromMenu);
-
-public: // New function
- /**
- * Set list observer.
- *
- * @param aObserver Pointer to list observer.
- */
- void SetSettingListObserver(MDirectPrintSettingListObserver* aObserver);
-
-private:
- CDirectPrintSettingListBox();
- void ConstructL(const TRect& aRect);
-
-private:
- /** Pointer to list observer. */
- MDirectPrintSettingListObserver* iObserver;
- };
-
-#endif // __DIRECTPRINTSETTINGLISTBOX_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTSETTINGLISTBOX_H__
+#define __DIRECTPRINTSETTINGLISTBOX_H__
+
+// System includes
+#include <aknsettingitemlist.h>
+
+// User includes
+#include "directprintsettinglistobserver.h"
+
+// Class declaration
+/**
+ * Setting listbox class
+ * more_complete_description
+ */
+class CDirectPrintSettingListBox : public CAknSettingItemList
+ {
+public:
+ /** Constructors */
+ static CDirectPrintSettingListBox* NewL(const TRect& aRect);
+ static CDirectPrintSettingListBox* NewLC(const TRect& aRect);
+ /** Destructor */
+ virtual ~CDirectPrintSettingListBox();
+
+public: // from CAknSettingItemList
+// CAknSettingItem* CreateSettingItemL(TInt identifier);
+ /**
+ * Set focus.
+ *
+ * @param aIndex The index of listbox item
+ * @param aCalledFromMenu The flag of called from menu
+ */
+ void EditItemL(TInt aIndex, TBool aCalledFromMenu);
+
+public: // New function
+ /**
+ * Set list observer.
+ *
+ * @param aObserver Pointer to list observer.
+ */
+ void SetSettingListObserver(MDirectPrintSettingListObserver* aObserver);
+
+private:
+ CDirectPrintSettingListBox();
+ void ConstructL(const TRect& aRect);
+
+private:
+ /** Pointer to list observer. */
+ MDirectPrintSettingListObserver* iObserver;
+ };
+
+#endif // __DIRECTPRINTSETTINGLISTBOX_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintsettinglistobserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintsettinglistobserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,40 +1,40 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTSETTINGLISTOBSERVER_H__
-#define __DIRECTPRINTSETTINGLISTOBSERVER_H__
-
-// Class declaration
-/**
- * Setting list observer mix-in class
- * more_complete_description
- */
-class MDirectPrintSettingListObserver
- {
-public:
- /**
- * Handles index.
- *
- * @param aIndex The index of selected item.
- * @param aChanged The flag of change data.
- */
- virtual void HandleEditItemL(TInt aIndex, TBool aChanged) = 0;
- };
-
-#endif // __DIRECTPRINTSETTINGLISTOBSERVER_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTSETTINGLISTOBSERVER_H__
+#define __DIRECTPRINTSETTINGLISTOBSERVER_H__
+
+// Class declaration
+/**
+ * Setting list observer mix-in class
+ * more_complete_description
+ */
+class MDirectPrintSettingListObserver
+ {
+public:
+ /**
+ * Handles index.
+ *
+ * @param aIndex The index of selected item.
+ * @param aChanged The flag of change data.
+ */
+ virtual void HandleEditItemL(TInt aIndex, TBool aChanged) = 0;
+ };
+
+#endif // __DIRECTPRINTSETTINGLISTOBSERVER_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintsettingview.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintsettingview.h Tue May 11 14:10:02 2010 +0800
@@ -1,153 +1,153 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __PRINTERSETTINGVIEW_H__
-#define __PRINTERSETTINGVIEW_H__
-
-// System includes
-#include <aknlists.h>
-#include <aknsettingitemlist.h>
-
-// User includes
-#include "DirectPrintViewBase.h"
-#include "directprintsettinglistbox.h"
-#include "directprintselectitem.h"
-
-// Forward declarations
-class CDirectPrintBearerMgr;
-
-// Class declaration
-/**
- * Printer setting view class
- * more_complete_description
- */
-class CDirectPrintPrinterSettingView : public CDirectPrintViewBase
- {
-public:
- enum TListItemIndex
- {
- ESettingViewItemPrinterName = 1,
- ESettingViewItemDriver,
- ESettingViewItemType,
- ESettingViewItemBearer,
- ESettingViewItemExtent
- };
-
-public:
- /** Constructors */
- static CDirectPrintPrinterSettingView* NewL();
- static CDirectPrintPrinterSettingView* NewLC();
- /** Destructor */
- ~CDirectPrintPrinterSettingView();
-
-public:
- /**
- * From CAknView.
- * Handles user commands.
- *
- * @param aCommand The id of commands.
- */
- void HandleCommandL(TInt aCommand);
-
-public:
- /**
- * Handles index.
- *
- * @param aIndex The index of selected item.
- * @param aChanged The flag of change data.
- */
- void HandleEditItemL(TInt aIndex, TBool aChanged);
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-private:
- CDirectPrintPrinterSettingView();
- void ConstructL();
-
- void LoadListL();
- void LoadExtendListL();
- void ReloadListL();
- void SetBearerListL(CAknEnumeratedTextPopupSettingItem* item);
-
- void ReadDataL();
- void WriteDataL();
- void NewDataL();
-
- void LoadDriverInfoL();
- void LoadTypeInfoL();
- void LoadBearerInfoL();
- void LoadItemInfoL(TInt aResouceId, const TDesC& aInfo, TInt& aIndex);
- void LoadExtendSettingsL();
- void StoreDriverInfoL();
- void StoreTypeInfoL();
- void StoreBearerInfoL();
- void StoreItemInfoL(TInt aResouceId, TDes& aInfo);
- void StoreExtendSettingsL();
-
- CAknSettingItem* GetSettingItemL(const TDesC& aItemTitle);
-
- CDirectPrintBearerMgr* GetBearerMgr();
-
-private:
- /** Pointer to listbox. */
- CDirectPrintSettingListBox* iListBox;
- /** Printer id. */
- TInt iPrinterId;
- /** Printer name. */
- TBuf<50> iPrinterName;
- /** Index of driver setting. */
- TInt iDriver;
- /** Driver uid. */
- TUid iDriverUid;
- /** Driver name. */
- TBuf<50> iDriverName;
- /** Index of bearer setting. */
- TInt iBearer;
- /** Bearer name. */
- TBuf<50> iBearerName;
- /** Index of access point setting. */
- TInt iAccessPoint;
- /** Access point name. */
- TBuf<50> iAccessPointName;
- /** Host name. */
- TBuf<50> iHost;
- /** Ip address. */
- TInetAddr iHostIp;
- /** Port number. */
- TInt iPort;
- /** User name. */
- TBuf<50> iUserName;
- /** Que name. */
- TBuf<50> iQue;
- /** Printer type name. */
- TBuf<50> iTypeName;
- /** Index of printer type setting. */
- TInt iType;
-
- /** Array of driver. */
- RSelectItemArray iDriverList;
- /** Array of bearer. */
- RSelectItemArray iBearerList;
- /** Array of type. */
- RSelectItemArray iTypeList;
- };
-
-#endif // __PRINTERSETTINGVIEW_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __PRINTERSETTINGVIEW_H__
+#define __PRINTERSETTINGVIEW_H__
+
+// System includes
+#include <aknlists.h>
+#include <aknsettingitemlist.h>
+
+// User includes
+#include "DirectPrintViewBase.h"
+#include "directprintsettinglistbox.h"
+#include "directprintselectitem.h"
+
+// Forward declarations
+class CDirectPrintBearerMgr;
+
+// Class declaration
+/**
+ * Printer setting view class
+ * more_complete_description
+ */
+class CDirectPrintPrinterSettingView : public CDirectPrintViewBase
+ {
+public:
+ enum TListItemIndex
+ {
+ ESettingViewItemPrinterName = 1,
+ ESettingViewItemDriver,
+ ESettingViewItemType,
+ ESettingViewItemBearer,
+ ESettingViewItemExtent
+ };
+
+public:
+ /** Constructors */
+ static CDirectPrintPrinterSettingView* NewL();
+ static CDirectPrintPrinterSettingView* NewLC();
+ /** Destructor */
+ ~CDirectPrintPrinterSettingView();
+
+public:
+ /**
+ * From CAknView.
+ * Handles user commands.
+ *
+ * @param aCommand The id of commands.
+ */
+ void HandleCommandL(TInt aCommand);
+
+public:
+ /**
+ * Handles index.
+ *
+ * @param aIndex The index of selected item.
+ * @param aChanged The flag of change data.
+ */
+ void HandleEditItemL(TInt aIndex, TBool aChanged);
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+private:
+ CDirectPrintPrinterSettingView();
+ void ConstructL();
+
+ void LoadListL();
+ void LoadExtendListL();
+ void ReloadListL();
+ void SetBearerListL(CAknEnumeratedTextPopupSettingItem* item);
+
+ void ReadDataL();
+ void WriteDataL();
+ void NewDataL();
+
+ void LoadDriverInfoL();
+ void LoadTypeInfoL();
+ void LoadBearerInfoL();
+ void LoadItemInfoL(TInt aResouceId, const TDesC& aInfo, TInt& aIndex);
+ void LoadExtendSettingsL();
+ void StoreDriverInfoL();
+ void StoreTypeInfoL();
+ void StoreBearerInfoL();
+ void StoreItemInfoL(TInt aResouceId, TDes& aInfo);
+ void StoreExtendSettingsL();
+
+ CAknSettingItem* GetSettingItemL(const TDesC& aItemTitle);
+
+ CDirectPrintBearerMgr* GetBearerMgr();
+
+private:
+ /** Pointer to listbox. */
+ CDirectPrintSettingListBox* iListBox;
+ /** Printer id. */
+ TInt iPrinterId;
+ /** Printer name. */
+ TBuf<50> iPrinterName;
+ /** Index of driver setting. */
+ TInt iDriver;
+ /** Driver uid. */
+ TUid iDriverUid;
+ /** Driver name. */
+ TBuf<50> iDriverName;
+ /** Index of bearer setting. */
+ TInt iBearer;
+ /** Bearer name. */
+ TBuf<50> iBearerName;
+ /** Index of access point setting. */
+ TInt iAccessPoint;
+ /** Access point name. */
+ TBuf<50> iAccessPointName;
+ /** Host name. */
+ TBuf<50> iHost;
+ /** Ip address. */
+ TInetAddr iHostIp;
+ /** Port number. */
+ TInt iPort;
+ /** User name. */
+ TBuf<50> iUserName;
+ /** Que name. */
+ TBuf<50> iQue;
+ /** Printer type name. */
+ TBuf<50> iTypeName;
+ /** Index of printer type setting. */
+ TInt iType;
+
+ /** Array of driver. */
+ RSelectItemArray iDriverList;
+ /** Array of bearer. */
+ RSelectItemArray iBearerList;
+ /** Array of type. */
+ RSelectItemArray iTypeList;
+ };
+
+#endif // __PRINTERSETTINGVIEW_H__
--- a/DirectPrint/DirectPrintApp/ui/inc/directprintviewbase.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/inc/directprintviewbase.h Tue May 11 14:10:02 2010 +0800
@@ -1,93 +1,93 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTVIEWBASE_H__
-#define __DIRECTPRINTVIEWBASE_H__
-
-// System includes
-#include <aknview.h>
-
-// User includes
-#include "directprintlistobserver.h"
-#include "directprintsettinglistobserver.h"
-
-// Forward declarations
-class CDirectPrintModel;
-class CDirectPrintUiPluginMgr;
-class CDirectPrintEngine;
-
-// Class declaration
-/**
- * View base class
- * more_complete_description
- */
-class CDirectPrintViewBase : public CAknView, public MDirectPrintListObserver, public MDirectPrintSettingListObserver
- {
-public:
- /** Destructor */
- ~CDirectPrintViewBase();
-
-public:
- /**
- * From CAknView.
- * Get the id of view.
- *
- * @return The id of view.
- */
- TUid Id() const;
-
-public:
- /**
- * Handles index.
- *
- * @param aIndex The index of selected item.
- */
- virtual void HandleListIndexL(TInt aIndex);
-
-public:
- /**
- * Handles index.
- *
- * @param aIndex The index of selected item.
- * @param aChanged The flag of change data.
- */
- virtual void HandleEditItemL(TInt aIndex, TBool aChanged);
-
-protected:
- CDirectPrintViewBase();
- void ConstructL();
-
-protected: // from CAknView
- void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
- void DoDeactivate();
-
-protected: // New founctions
- void SetActiveTitleL(TInt aTitleResId);
- CDirectPrintModel& GetModel();
- CDirectPrintUiPluginMgr& GetPluginMgr();
- CDirectPrintEngine& GetEngine();
-
-protected:
- /** View id. */
- TUid iViewId;
-
-private:
- };
-
-#endif // __DIRECTPRINTVIEWBASE_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTVIEWBASE_H__
+#define __DIRECTPRINTVIEWBASE_H__
+
+// System includes
+#include <aknview.h>
+
+// User includes
+#include "directprintlistobserver.h"
+#include "directprintsettinglistobserver.h"
+
+// Forward declarations
+class CDirectPrintModel;
+class CDirectPrintUiPluginMgr;
+class CDirectPrintEngine;
+
+// Class declaration
+/**
+ * View base class
+ * more_complete_description
+ */
+class CDirectPrintViewBase : public CAknView, public MDirectPrintListObserver, public MDirectPrintSettingListObserver
+ {
+public:
+ /** Destructor */
+ ~CDirectPrintViewBase();
+
+public:
+ /**
+ * From CAknView.
+ * Get the id of view.
+ *
+ * @return The id of view.
+ */
+ TUid Id() const;
+
+public:
+ /**
+ * Handles index.
+ *
+ * @param aIndex The index of selected item.
+ */
+ virtual void HandleListIndexL(TInt aIndex);
+
+public:
+ /**
+ * Handles index.
+ *
+ * @param aIndex The index of selected item.
+ * @param aChanged The flag of change data.
+ */
+ virtual void HandleEditItemL(TInt aIndex, TBool aChanged);
+
+protected:
+ CDirectPrintViewBase();
+ void ConstructL();
+
+protected: // from CAknView
+ void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+protected: // New founctions
+ void SetActiveTitleL(TInt aTitleResId);
+ CDirectPrintModel& GetModel();
+ CDirectPrintUiPluginMgr& GetPluginMgr();
+ CDirectPrintEngine& GetEngine();
+
+protected:
+ /** View id. */
+ TUid iViewId;
+
+private:
+ };
+
+#endif // __DIRECTPRINTVIEWBASE_H__
--- a/DirectPrint/DirectPrintApp/ui/src/directprintlistbox.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintlistbox.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,167 +1,167 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-
-#include "DirectPrintListBox.h"
-
-CDirectPrintListBox::CDirectPrintListBox()
- {
- iListObserver = NULL;
- }
-
-CDirectPrintListBox::~CDirectPrintListBox()
- {
- delete iListBox;
- }
-
-CDirectPrintListBox* CDirectPrintListBox::NewL(const TRect& aRect, CDesCArray* aItemArray)
- {
- CDirectPrintListBox* self = CDirectPrintListBox::NewLC(aRect, aItemArray);
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintListBox* CDirectPrintListBox::NewLC(const TRect& aRect, CDesCArray* aItemArray)
- {
- CDirectPrintListBox* self = new(ELeave) CDirectPrintListBox();
- CleanupStack::PushL(self);
- self->ConstructL(aRect, aItemArray);
- return self;
- }
-
-void CDirectPrintListBox::ConstructL(const TRect& aRect, CDesCArray* aItemArray)
- {
- CreateWindowL();
- SetRect(aRect);
-
- InitializeControlsL();
- iListBox->SetRect(Rect());
- iListBox->Model()->SetItemTextArray(aItemArray);
- iListBox->Model()->SetOwnershipType(ELbmDoesNotOwnItemArray);
- iListBox->HandleItemAdditionL();
-
- ActivateL();
- }
-
-TInt CDirectPrintListBox::CountComponentControls() const
- {
- return (int)ELastControl;
- }
-
-CCoeControl* CDirectPrintListBox::ComponentControl(TInt aIndex) const
- {
- CCoeControl* ctrl = NULL;
-
- switch ( aIndex )
- {
- case EListBox:
- {
- ctrl = iListBox;
- }
- break;
- default:
- break;
- }
-
- return ctrl;
- }
-
-void CDirectPrintListBox::InitializeControlsL()
- {
- TBuf<50> buf;
- //_LIT ( KStringHeader, "%S\t%S" );
- iListBox = new(ELeave) CAknDoubleStyleListBox;
- iListBox->SetContainerWindowL(*this);
- {
- TResourceReader reader;
- iEikonEnv->CreateResourceReaderLC(reader, R_DIRECTPRINT_MAINVIEW_LISTBOX);
- iListBox->ConstructFromResourceL(reader);
- CleanupStack::PopAndDestroy(); // reader internal state
- }
-
- iListBox->CreateScrollBarFrameL(ETrue);
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn, CEikScrollBarFrame::EOn);
- iListBox->ScrollBarFrame()->DrawScrollBarsNow();
- iListBox->SetFocus( ETrue );
- iListBox->SetListBoxObserver(this);
- iListBox->View()->SetListEmptyTextL( _L("No Data") );
- }
-
-void CDirectPrintListBox::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
- {
- switch (aEventType)
- {
- case EEventItemClicked:
- case EEventEnterKeyPressed:
- {
- TInt index = iListBox->CurrentItemIndex();
- if (iListObserver)
- {
- iListObserver->HandleListIndexL(index);
- }
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintListBox::SetItemL(CDesCArray* aItemArray)
- {
- iListBox->Model()->SetItemTextArray(aItemArray);
- iListBox->Model()->SetOwnershipType(ELbmDoesNotOwnItemArray);
- iListBox->HandleItemAdditionL();
- }
-
-void CDirectPrintListBox::SetListObserver(MDirectPrintListObserver* aObserver)
- {
- iListObserver = aObserver;
- }
-
-TInt CDirectPrintListBox::DeleteCurrentItemL()
- {
- TInt index = -1;
- if (iListBox->Model()->NumberOfItems() > 0)
- {
- index = iListBox->CurrentItemIndex();
- CDesCArray* itemArray = static_cast<CDesC16ArrayFlat*>(iListBox->Model()->ItemTextArray());
- itemArray->Delete(index);
- }
- iListBox->HandleItemAdditionL();
-
- return index;
- }
-
-void CDirectPrintListBox::RedrawListL()
- {
- iListBox->HandleItemAdditionL();
- iListBox->DrawNow();
- DrawNow();
- }
-
-TInt CDirectPrintListBox::CurrentIndex()
- {
- return iListBox->CurrentItemIndex();
- }
-
-void CDirectPrintListBox::SetFocusL(TInt aIndex)
- {
- iListBox->SetCurrentItemIndexAndDraw(aIndex);
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+
+#include "DirectPrintListBox.h"
+
+CDirectPrintListBox::CDirectPrintListBox()
+ {
+ iListObserver = NULL;
+ }
+
+CDirectPrintListBox::~CDirectPrintListBox()
+ {
+ delete iListBox;
+ }
+
+CDirectPrintListBox* CDirectPrintListBox::NewL(const TRect& aRect, CDesCArray* aItemArray)
+ {
+ CDirectPrintListBox* self = CDirectPrintListBox::NewLC(aRect, aItemArray);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintListBox* CDirectPrintListBox::NewLC(const TRect& aRect, CDesCArray* aItemArray)
+ {
+ CDirectPrintListBox* self = new(ELeave) CDirectPrintListBox();
+ CleanupStack::PushL(self);
+ self->ConstructL(aRect, aItemArray);
+ return self;
+ }
+
+void CDirectPrintListBox::ConstructL(const TRect& aRect, CDesCArray* aItemArray)
+ {
+ CreateWindowL();
+ SetRect(aRect);
+
+ InitializeControlsL();
+ iListBox->SetRect(Rect());
+ iListBox->Model()->SetItemTextArray(aItemArray);
+ iListBox->Model()->SetOwnershipType(ELbmDoesNotOwnItemArray);
+ iListBox->HandleItemAdditionL();
+
+ ActivateL();
+ }
+
+TInt CDirectPrintListBox::CountComponentControls() const
+ {
+ return (int)ELastControl;
+ }
+
+CCoeControl* CDirectPrintListBox::ComponentControl(TInt aIndex) const
+ {
+ CCoeControl* ctrl = NULL;
+
+ switch ( aIndex )
+ {
+ case EListBox:
+ {
+ ctrl = iListBox;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return ctrl;
+ }
+
+void CDirectPrintListBox::InitializeControlsL()
+ {
+ TBuf<50> buf;
+ //_LIT ( KStringHeader, "%S\t%S" );
+ iListBox = new(ELeave) CAknDoubleStyleListBox;
+ iListBox->SetContainerWindowL(*this);
+ {
+ TResourceReader reader;
+ iEikonEnv->CreateResourceReaderLC(reader, R_DIRECTPRINT_MAINVIEW_LISTBOX);
+ iListBox->ConstructFromResourceL(reader);
+ CleanupStack::PopAndDestroy(); // reader internal state
+ }
+
+ iListBox->CreateScrollBarFrameL(ETrue);
+ iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn, CEikScrollBarFrame::EOn);
+ iListBox->ScrollBarFrame()->DrawScrollBarsNow();
+ iListBox->SetFocus( ETrue );
+ iListBox->SetListBoxObserver(this);
+ iListBox->View()->SetListEmptyTextL( _L("No Data") );
+ }
+
+void CDirectPrintListBox::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
+ {
+ switch (aEventType)
+ {
+ case EEventItemClicked:
+ case EEventEnterKeyPressed:
+ {
+ TInt index = iListBox->CurrentItemIndex();
+ if (iListObserver)
+ {
+ iListObserver->HandleListIndexL(index);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintListBox::SetItemL(CDesCArray* aItemArray)
+ {
+ iListBox->Model()->SetItemTextArray(aItemArray);
+ iListBox->Model()->SetOwnershipType(ELbmDoesNotOwnItemArray);
+ iListBox->HandleItemAdditionL();
+ }
+
+void CDirectPrintListBox::SetListObserver(MDirectPrintListObserver* aObserver)
+ {
+ iListObserver = aObserver;
+ }
+
+TInt CDirectPrintListBox::DeleteCurrentItemL()
+ {
+ TInt index = -1;
+ if (iListBox->Model()->NumberOfItems() > 0)
+ {
+ index = iListBox->CurrentItemIndex();
+ CDesCArray* itemArray = static_cast<CDesC16ArrayFlat*>(iListBox->Model()->ItemTextArray());
+ itemArray->Delete(index);
+ }
+ iListBox->HandleItemAdditionL();
+
+ return index;
+ }
+
+void CDirectPrintListBox::RedrawListL()
+ {
+ iListBox->HandleItemAdditionL();
+ iListBox->DrawNow();
+ DrawNow();
+ }
+
+TInt CDirectPrintListBox::CurrentIndex()
+ {
+ return iListBox->CurrentItemIndex();
+ }
+
+void CDirectPrintListBox::SetFocusL(TInt aIndex)
+ {
+ iListBox->SetCurrentItemIndexAndDraw(aIndex);
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/src/directprintlistview.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintlistview.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,197 +1,197 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// System include files
-#include <aknviewappui.h>
-#include <akntoolbar.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-
-// User include files go here:
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "directprintmodel.h"
-#include "directprintlistview.h"
-
-CDirectPrintListView::CDirectPrintListView()
- {
- iListBox = NULL;
- }
-
-CDirectPrintListView::~CDirectPrintListView()
- {
- AppUi()->RemoveFromViewStack(*this, iListBox);
- delete iListBox;
- delete iItemArray;
- }
-
-CDirectPrintListView* CDirectPrintListView::NewL()
- {
- CDirectPrintListView* self = CDirectPrintListView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintListView* CDirectPrintListView::NewLC()
- {
- CDirectPrintListView* self = new(ELeave) CDirectPrintListView();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintListView::ConstructL()
- {
- LOG("CDirectPrintListView::ConstructL BEGIN");
- BaseConstructL(R_DIRECTPRINT_PRINTERLIST_VIEW);
-
- LOG("CDirectPrintListView::ConstructL 1");
- iViewId = TUid::Uid(EDirectPrintPrinterListViewId);
-
- iItemArray = new(ELeave) CDesCArrayFlat(3);
- LOG("CDirectPrintListView::ConstructL END");
- }
-
-void CDirectPrintListView::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EAknSoftkeyDone:
- {
- TInt index = iListBox->CurrentIndex();
- if (index >= 0)
- {
- GetModel().MoveTopPrinterDataL(index);
- }
- AppUi()->HandleCommandL(EDirectPrintCmdIdPrinterListViewDone);
- }
- break;
- case EDirectPrintCmdIdPrinterListViewDelete:
- {
- TInt index = iListBox->DeleteCurrentItemL();
- if (index >= 0)
- {
- GetModel().RemovePrinterDataL(index);
- iListBox->SetFocusL(0);
- }
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- case EDirectPrintCmdIdPrinterListViewNew:
- {
- PrepareNewDataL();
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- }
- }
-
-void CDirectPrintListView::HandleListIndexL(TInt aIndex)
- {
- GetModel().SetSelectPrinter(aIndex);
- AppUi()->HandleCommandL(EDirectPrintCmdIdPrinterListViewEdit);
- }
-
-void CDirectPrintListView::OfferToolbarEventL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EDirectPrintCmdIdPrinterListViewEdit:
- {
- TInt index = iListBox->CurrentIndex();
- GetModel().SetSelectPrinter(index);
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- case EDirectPrintCmdIdPrinterListViewSearch:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- case EDirectPrintCmdIdPrinterListViewNew:
- {
- PrepareNewDataL();
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintListView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
- toolbar->SetToolbarObserver(this);
-
- iItemArray->Reset();
-
- // Create list box
- if (!iListBox)
- {
- iListBox = CDirectPrintListBox::NewL(ClientRect(), iItemArray);
- iListBox->SetMopParent(this);
- iListBox->SetListObserver(this);
- }
- AppUi()->AddToStackL(*this, iListBox);
- iListBox->MakeVisible(ETrue);
-
- LoadListDataL();
-
- iListBox->RedrawListL();
-
- // set the title pane
- SetActiveTitleL(R_DIRECTPRINT_PRINTERLIST_TITLE);
- }
-
-void CDirectPrintListView::DoDeactivate()
- {
- iListBox->MakeVisible(EFalse);
- AppUi()->RemoveFromViewStack(*this, iListBox);
- }
-
-void CDirectPrintListView::LoadListDataL()
- {
- CDirectPrintModel& model = GetModel();
- TInt count = model.PrinterCount();
- for (TInt i=0; i<count; i++)
- {
- TDirectPrintPrinterData printerData;
- model.GetPrinterDataL(i, printerData);
-
- TBuf<50> buf;
- buf.Format(_L("\t%S\t%S"), &printerData.iPrinterName, &printerData.iDriverName);
- iItemArray->AppendL(buf);
- }
- }
-
-void CDirectPrintListView::PrepareNewDataL()
- {
- CDirectPrintModel& model = GetModel();
- model.SetIsNewData(ETrue);
- model.SetSelectPrinter(0);
- if (model.PrinterCount() == 0)
- {
- model.SetCurrentPrinter(0);
- }
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// System include files
+#include <aknviewappui.h>
+#include <akntoolbar.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+
+// User include files go here:
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "directprintmodel.h"
+#include "directprintlistview.h"
+
+CDirectPrintListView::CDirectPrintListView()
+ {
+ iListBox = NULL;
+ }
+
+CDirectPrintListView::~CDirectPrintListView()
+ {
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ delete iListBox;
+ delete iItemArray;
+ }
+
+CDirectPrintListView* CDirectPrintListView::NewL()
+ {
+ CDirectPrintListView* self = CDirectPrintListView::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintListView* CDirectPrintListView::NewLC()
+ {
+ CDirectPrintListView* self = new(ELeave) CDirectPrintListView();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintListView::ConstructL()
+ {
+ LOG("CDirectPrintListView::ConstructL BEGIN");
+ BaseConstructL(R_DIRECTPRINT_PRINTERLIST_VIEW);
+
+ LOG("CDirectPrintListView::ConstructL 1");
+ iViewId = TUid::Uid(EDirectPrintPrinterListViewId);
+
+ iItemArray = new(ELeave) CDesCArrayFlat(3);
+ LOG("CDirectPrintListView::ConstructL END");
+ }
+
+void CDirectPrintListView::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyDone:
+ {
+ TInt index = iListBox->CurrentIndex();
+ if (index >= 0)
+ {
+ GetModel().MoveTopPrinterDataL(index);
+ }
+ AppUi()->HandleCommandL(EDirectPrintCmdIdPrinterListViewDone);
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewDelete:
+ {
+ TInt index = iListBox->DeleteCurrentItemL();
+ if (index >= 0)
+ {
+ GetModel().RemovePrinterDataL(index);
+ iListBox->SetFocusL(0);
+ }
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewNew:
+ {
+ PrepareNewDataL();
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ }
+ }
+
+void CDirectPrintListView::HandleListIndexL(TInt aIndex)
+ {
+ GetModel().SetSelectPrinter(aIndex);
+ AppUi()->HandleCommandL(EDirectPrintCmdIdPrinterListViewEdit);
+ }
+
+void CDirectPrintListView::OfferToolbarEventL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EDirectPrintCmdIdPrinterListViewEdit:
+ {
+ TInt index = iListBox->CurrentIndex();
+ GetModel().SetSelectPrinter(index);
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewSearch:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ case EDirectPrintCmdIdPrinterListViewNew:
+ {
+ PrepareNewDataL();
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintListView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
+ toolbar->SetToolbarObserver(this);
+
+ iItemArray->Reset();
+
+ // Create list box
+ if (!iListBox)
+ {
+ iListBox = CDirectPrintListBox::NewL(ClientRect(), iItemArray);
+ iListBox->SetMopParent(this);
+ iListBox->SetListObserver(this);
+ }
+ AppUi()->AddToStackL(*this, iListBox);
+ iListBox->MakeVisible(ETrue);
+
+ LoadListDataL();
+
+ iListBox->RedrawListL();
+
+ // set the title pane
+ SetActiveTitleL(R_DIRECTPRINT_PRINTERLIST_TITLE);
+ }
+
+void CDirectPrintListView::DoDeactivate()
+ {
+ iListBox->MakeVisible(EFalse);
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ }
+
+void CDirectPrintListView::LoadListDataL()
+ {
+ CDirectPrintModel& model = GetModel();
+ TInt count = model.PrinterCount();
+ for (TInt i=0; i<count; i++)
+ {
+ TDirectPrintPrinterData printerData;
+ model.GetPrinterDataL(i, printerData);
+
+ TBuf<50> buf;
+ buf.Format(_L("\t%S\t%S"), &printerData.iPrinterName, &printerData.iDriverName);
+ iItemArray->AppendL(buf);
+ }
+ }
+
+void CDirectPrintListView::PrepareNewDataL()
+ {
+ CDirectPrintModel& model = GetModel();
+ model.SetIsNewData(ETrue);
+ model.SetSelectPrinter(0);
+ if (model.PrinterCount() == 0)
+ {
+ model.SetCurrentPrinter(0);
+ }
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/src/directprintmainview.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintmainview.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,250 +1,250 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <aknviewappui.h>
-#include <akntoolbar.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "directprintmodel.h"
-#include "directprintmainview.h"
-
-CDirectPrintMainView::CDirectPrintMainView()
- {
- iListBox = NULL;
- }
-
-CDirectPrintMainView::~CDirectPrintMainView()
- {
- AppUi()->RemoveFromViewStack(*this, iListBox);
- delete iListBox;
- iItemArray->Reset();
- delete iItemArray;
- }
-
-CDirectPrintMainView* CDirectPrintMainView::NewL()
- {
- CDirectPrintMainView* self = CDirectPrintMainView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintMainView* CDirectPrintMainView::NewLC()
- {
- CDirectPrintMainView* self = new(ELeave) CDirectPrintMainView();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintMainView::ConstructL()
- {
- LOG("CDirectPrintMainView::ConstructL BEGIN");
- BaseConstructL(R_DIRECTPRINT_MAINVIEW);
-
- iViewId = TUid::Uid(EDirectPrintMainViewId);
-
- iItemArray = new(ELeave) CDesCArrayFlat(3);
- LOG("CDirectPrintMainView::ConstructL END");
- }
-
-void CDirectPrintMainView::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EAknSoftkeyBack:
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewExit);
- }
- break;
- case EDirectPrintCmdIdMainViewPrinterList:
- case EDirectPrintCmdIdMainViewPrint:
- case EDirectPrintCmdIdMainViewPreview:
- case EDirectPrintCmdIdMainViewPropertySetting:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- }
- }
-
-void CDirectPrintMainView::HandleListIndexL(TInt aIndex)
- {
- switch (aIndex)
- {
- case EItemPrinter:
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewPrinterList);
- }
- break;
- case EItemBearer:
- {
- CDirectPrintModel& model = GetModel();
- model.SetSelectPrinter(model.CurrentPrinter());
- AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewPrinterSetting);
- }
- break;
- case EItemSetting:
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewPropertySetting);
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintMainView::OfferToolbarEventL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EDirectPrintCmdIdMainViewPrint:
- case EDirectPrintCmdIdMainViewPreview:
- case EDirectPrintCmdIdMainViewPropertySetting:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintMainView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- LOG("CDirectPrintMainView::DoActivateL BEGIN");
- CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
- toolbar->SetToolbarObserver(this);
-
- iItemArray->Reset();
- LoadListDataL();
-
- // Create list box
- if (!iListBox)
- {
- iListBox = CDirectPrintListBox::NewL(ClientRect(), iItemArray);
- iListBox->SetMopParent(this);
- iListBox->SetListObserver(this);
- }
- AppUi()->AddToStackL(*this, iListBox);
- iListBox->MakeVisible(ETrue);
- iListBox->RedrawListL();
-
- // set the title pane
- SetActiveTitleL(R_DIRECTPRINT_MAINVIEW_TITLE);
- LOG("CDirectPrintMainView::DoActivateL END");
- }
-
-void CDirectPrintMainView::DoDeactivate()
- {
- LOG("CDirectPrintMainView::DoDeactivate BEGIN");
- iListBox->MakeVisible(EFalse);
- AppUi()->RemoveFromViewStack(*this, iListBox);
- LOG("CDirectPrintMainView::DoDeactivate END");
- }
-
-void CDirectPrintMainView::LoadListDataL()
- {
- CDirectPrintModel& model = GetModel();
-
- if (model.PrinterCount() > 0)
- {
- TBuf<50> buf;
- TBuf<25> itemTitle;
-
- TDirectPrintPrinterData printerData;
- model.GetPrinterDataL(0, printerData);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PRINTERNAME);
- buf.Format(_L("\t%S\t%S"), &itemTitle, &printerData.iPrinterName);
- iItemArray->AppendL(buf);
-
- TDirectPrintBearerData bearerData;
- model.GetCurrentBearerDataL(bearerData);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_BEARER);
- buf.Format(_L("\t%S\t%S"), &itemTitle, &bearerData.iBearerName);
- iItemArray->AppendL(buf);
-
- TBuf<25> property;
- MakePropertyStringL(property);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PROPERTYSETTINGS);
- buf.Format(_L("\t%S\t%S"), &itemTitle, &property);
- iItemArray->AppendL(buf);
- }
- else
- {
- TBuf<50> buf;
- TBuf<30> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PRINTERNAME);
- buf.Format(_L("\t%S\t"), &itemTitle);
- iItemArray->AppendL(buf);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_BEARER);
- buf.Format(_L("\t%S\t"), &itemTitle);
- iItemArray->AppendL(buf);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PROPERTYSETTINGS);
- buf.Format(_L("\t%S\t"), &itemTitle);
- iItemArray->AppendL(buf);
- }
- }
-
-void CDirectPrintMainView::MakePropertyStringL(TDes& aProperty)
- {
- CDirectPrintModel& model = GetModel();
- CPrinterProperty* property = model.GetCurrentPrinterPropertyL(TUid::Uid(0));
-
- if (property)
- {
- TInt paperSize(0), orientation(0), copy(0);
- TInt count = property->iPropertyItems.Count();
- for (TInt i=0; i<count; i++)
- {
- if (property->iPropertyItems[i].iItemType == EDirectPrintPageSettingTab)
- {
- switch (property->iPropertyItems[i].iItemId)
- {
- case EDirectPrintPaperPaperSize:
- {
- paperSize = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPaperOrientation:
- {
- orientation = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPageCopy:
- {
- copy = property->iPropertyItems[i].iItemValue;
- }
- break;
- default:
- break;
- }
- }
- }
-
- //aProperty.Format(_L("%S/%S/%d"), paperSize, orientation, copy);
- aProperty.Format(_L("%d/%d/%d"), paperSize, orientation, copy);
- }
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <aknviewappui.h>
+#include <akntoolbar.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "directprintmodel.h"
+#include "directprintmainview.h"
+
+CDirectPrintMainView::CDirectPrintMainView()
+ {
+ iListBox = NULL;
+ }
+
+CDirectPrintMainView::~CDirectPrintMainView()
+ {
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ delete iListBox;
+ iItemArray->Reset();
+ delete iItemArray;
+ }
+
+CDirectPrintMainView* CDirectPrintMainView::NewL()
+ {
+ CDirectPrintMainView* self = CDirectPrintMainView::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintMainView* CDirectPrintMainView::NewLC()
+ {
+ CDirectPrintMainView* self = new(ELeave) CDirectPrintMainView();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintMainView::ConstructL()
+ {
+ LOG("CDirectPrintMainView::ConstructL BEGIN");
+ BaseConstructL(R_DIRECTPRINT_MAINVIEW);
+
+ iViewId = TUid::Uid(EDirectPrintMainViewId);
+
+ iItemArray = new(ELeave) CDesCArrayFlat(3);
+ LOG("CDirectPrintMainView::ConstructL END");
+ }
+
+void CDirectPrintMainView::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyBack:
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewExit);
+ }
+ break;
+ case EDirectPrintCmdIdMainViewPrinterList:
+ case EDirectPrintCmdIdMainViewPrint:
+ case EDirectPrintCmdIdMainViewPreview:
+ case EDirectPrintCmdIdMainViewPropertySetting:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ }
+ }
+
+void CDirectPrintMainView::HandleListIndexL(TInt aIndex)
+ {
+ switch (aIndex)
+ {
+ case EItemPrinter:
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewPrinterList);
+ }
+ break;
+ case EItemBearer:
+ {
+ CDirectPrintModel& model = GetModel();
+ model.SetSelectPrinter(model.CurrentPrinter());
+ AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewPrinterSetting);
+ }
+ break;
+ case EItemSetting:
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdMainViewPropertySetting);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintMainView::OfferToolbarEventL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EDirectPrintCmdIdMainViewPrint:
+ case EDirectPrintCmdIdMainViewPreview:
+ case EDirectPrintCmdIdMainViewPropertySetting:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintMainView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ LOG("CDirectPrintMainView::DoActivateL BEGIN");
+ CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
+ toolbar->SetToolbarObserver(this);
+
+ iItemArray->Reset();
+ LoadListDataL();
+
+ // Create list box
+ if (!iListBox)
+ {
+ iListBox = CDirectPrintListBox::NewL(ClientRect(), iItemArray);
+ iListBox->SetMopParent(this);
+ iListBox->SetListObserver(this);
+ }
+ AppUi()->AddToStackL(*this, iListBox);
+ iListBox->MakeVisible(ETrue);
+ iListBox->RedrawListL();
+
+ // set the title pane
+ SetActiveTitleL(R_DIRECTPRINT_MAINVIEW_TITLE);
+ LOG("CDirectPrintMainView::DoActivateL END");
+ }
+
+void CDirectPrintMainView::DoDeactivate()
+ {
+ LOG("CDirectPrintMainView::DoDeactivate BEGIN");
+ iListBox->MakeVisible(EFalse);
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ LOG("CDirectPrintMainView::DoDeactivate END");
+ }
+
+void CDirectPrintMainView::LoadListDataL()
+ {
+ CDirectPrintModel& model = GetModel();
+
+ if (model.PrinterCount() > 0)
+ {
+ TBuf<50> buf;
+ TBuf<25> itemTitle;
+
+ TDirectPrintPrinterData printerData;
+ model.GetPrinterDataL(0, printerData);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PRINTERNAME);
+ buf.Format(_L("\t%S\t%S"), &itemTitle, &printerData.iPrinterName);
+ iItemArray->AppendL(buf);
+
+ TDirectPrintBearerData bearerData;
+ model.GetCurrentBearerDataL(bearerData);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_BEARER);
+ buf.Format(_L("\t%S\t%S"), &itemTitle, &bearerData.iBearerName);
+ iItemArray->AppendL(buf);
+
+ TBuf<25> property;
+ MakePropertyStringL(property);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PROPERTYSETTINGS);
+ buf.Format(_L("\t%S\t%S"), &itemTitle, &property);
+ iItemArray->AppendL(buf);
+ }
+ else
+ {
+ TBuf<50> buf;
+ TBuf<30> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PRINTERNAME);
+ buf.Format(_L("\t%S\t"), &itemTitle);
+ iItemArray->AppendL(buf);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_BEARER);
+ buf.Format(_L("\t%S\t"), &itemTitle);
+ iItemArray->AppendL(buf);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_MAINVIEW_ITEM_PROPERTYSETTINGS);
+ buf.Format(_L("\t%S\t"), &itemTitle);
+ iItemArray->AppendL(buf);
+ }
+ }
+
+void CDirectPrintMainView::MakePropertyStringL(TDes& aProperty)
+ {
+ CDirectPrintModel& model = GetModel();
+ CPrinterProperty* property = model.GetCurrentPrinterPropertyL(TUid::Uid(0));
+
+ if (property)
+ {
+ TInt paperSize(0), orientation(0), copy(0);
+ TInt count = property->iPropertyItems.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ if (property->iPropertyItems[i].iItemType == EDirectPrintPageSettingTab)
+ {
+ switch (property->iPropertyItems[i].iItemId)
+ {
+ case EDirectPrintPaperPaperSize:
+ {
+ paperSize = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPaperOrientation:
+ {
+ orientation = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPageCopy:
+ {
+ copy = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ //aProperty.Format(_L("%S/%S/%d"), paperSize, orientation, copy);
+ aProperty.Format(_L("%d/%d/%d"), paperSize, orientation, copy);
+ }
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/src/directprintpreviewcontrol.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintpreviewcontrol.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,500 +1,500 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// INCLUDE FILES
-#include <coemain.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-#include <prninf.h>
-#include <prnsetup.h>
-#include <gdi.h>
-#include <prnprev.h>
-#include <eikenv.h>
-#include <gulbordr.h> // TGulBorder
-#include <e32cmn.h>
-
-#include "directprintapp.pan"
-#include "directprintapp.hrh"
-#include "directprintpreviewcontrol.h"
-
-const TInt KFirstPage=0;
-
-const TInt KDraggingAccepted = 10;
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintPreviewControl* CDirectPrintPreviewControl::NewL(const CCoeControl* aParent)
- {
- CDirectPrintPreviewControl* self = CDirectPrintPreviewControl::NewLC(aParent);
- CleanupStack::Pop(self);
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintPreviewControl* CDirectPrintPreviewControl::NewLC(const CCoeControl* aParent)
- {
- CDirectPrintPreviewControl* self = new(ELeave) CDirectPrintPreviewControl();
- CleanupStack::PushL(self);
- self->ConstructL(aParent);
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::CDirectPrintPreviewControl()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintPreviewControl::CDirectPrintPreviewControl()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::~CDirectPrintPreviewControl()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CDirectPrintPreviewControl::~CDirectPrintPreviewControl()
- {
- Window().SetPointerGrab(EFalse);
- delete iPreview;
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintPreviewControl::ConstructL(const CCoeControl* aParent)
- {
- // Create a window for this application view
- if (aParent)
- {
- CreateBackedUpWindowL(*aParent->DrawableWindow(), EGray4);
- }
- else
- {
- CreateBackedUpWindowL((RWindowTreeNode&)iCoeEnv->RootWin(), EGray4);
- }
-
- EnableDragEvents();
- Window().SetPointerGrab(ETrue);
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::SetPreviewImageObserver()
-//
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintPreviewControl::SetPreviewImageObserver(MPrintProcessObserver* aObserver)
- {
- __ASSERT_DEBUG(iPreview,Panic(EDirectPrintNullPointer));
- iPreview->SetObserver(*aObserver);
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::CountComponentControls()
-// Called by framework
-// -----------------------------------------------------------------------------
-//
-TInt CDirectPrintPreviewControl::CountComponentControls() const
- {
-// return(2);
- return(0);
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::ComponentControl()
-// Called by framework
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CDirectPrintPreviewControl::ComponentControl( TInt aIndex ) const
- {
- CCoeControl* control=NULL;
- switch (aIndex)
- {
- case 0:
-// control=iButton[0];
- break;
- case 1:
-// control=iButton[1];
- break;
- }
- return(control);
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::WriteInternalStateL()
-//
-// -----------------------------------------------------------------------------
-//
-#ifndef _DEBUG
-void CDirectPrintPreviewControl::WriteInternalStateL(RWriteStream& /*aWriteStream*/) const
- {
- }
-#else
-void CDirectPrintPreviewControl::WriteInternalStateL(RWriteStream& aWriteStream) const
- {
- CEikBorderedControl::WriteInternalStateL(aWriteStream);
- }
-#endif
-
-// -----------------------------------------------------------------------------
-// CDirectPrintAppAppView::HandlePointerEventL()
-// Called by framework to handle pointer touch events.
-// Note: although this method is compatible with earlier SDKs,
-// it will not be called in SDKs without Touch support.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintPreviewControl::HandlePointerEventL(
- const TPointerEvent& aPointerEvent)
- {
- const TRect rect=Rect();
- if( !rect.Contains(aPointerEvent.iPosition) )
- {
- return;
- }
-
- switch ( aPointerEvent.iType )
- {
- case TPointerEvent::EButton1Down:
- {
- iPointerDownPos = aPointerEvent.iPosition;
- }
- break;
- case TPointerEvent::EButton1Up:
- case TPointerEvent::EDrag:
- {
- TInt x = aPointerEvent.iPosition.iX - iPointerDownPos.iX;
- TInt y = aPointerEvent.iPosition.iY - iPointerDownPos.iY;
- if (Abs(x) > KDraggingAccepted || Abs(y) > KDraggingAccepted)
- {
- TPoint newPos;
- TInt maxWidth = iDisplayRect.Width() - rect.Width();
- TInt maxHeight = iDisplayRect.Height() - rect.Height();
- newPos.iX = Min(iDisplayPoint.iX + x, maxWidth);
- if (newPos.iX <= (maxWidth*-1))
- newPos.iX = (maxWidth*-1);
- newPos.iY = Min(iDisplayPoint.iY + y, maxHeight);
- if (newPos.iY <= (maxHeight*-1))
- newPos.iY = (maxHeight*-1);
- iDisplayPoint = newPos;
- iPointerDownPos = aPointerEvent.iPosition;
- DrawNow();
- }
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintPreviewControl::ActivateL()
- {
- DrawButtons();
- CCoeControl::ActivateL();
- }
-
-TCoeInputCapabilities CDirectPrintPreviewControl::InputCapabilities() const
- {
- return TCoeInputCapabilities(TCoeInputCapabilities::ENavigation);
- }
-
-void CDirectPrintPreviewControl::InitializeFormat(
- CPrintSetup& aPrintSetup,
- MPageRegionPrinter& aBodyPrinter,
- TPrintPreviewFormat& aFormat,
- TInt& aNumPagesInDoc,
- TInt& aFirstPageToDisplay,
- TInt aNumPagesToView,
- CPrintPreviewImage::TMarginState& aMarginState)
- {
- iPrintSetup=&aPrintSetup;
- iBodyPrinter=&aBodyPrinter;
- iPrintPreviewFormat=&aFormat;
- iFirstPageToDisplay=&aFirstPageToDisplay;
- iNumPagesInDoc=aNumPagesInDoc;
- iNumPagesToView=aNumPagesToView;
- iMarginState=aMarginState;
- }
-
-void CDirectPrintPreviewControl::SetNumBands(TInt aNumBands)
- {
- iNumBands=aNumBands;
- if (iPreview)
- {
- iPreview->SetNumBands(aNumBands);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::SizeChanged()
-// Called by framework when the view size is changed.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintPreviewControl::SizeChanged()
- // can't recover if CPrintPreviewImage::NewL() fails !!
- {
- iPreviewDraw=ETrue;
-
- // set zoom level
- SetZoomLevelAndDispalyRect(EPreviewZoomLevel1);
-
- // create CPrintPreviewImage object
- TRAP_IGNORE(CreatePreviewImageL());
- }
-
-// -----------------------------------------------------------------------------
-// CDirectPrintPreviewControl::Draw()
-// Draws the display.
-// -----------------------------------------------------------------------------
-//
-void CDirectPrintPreviewControl::Draw(const TRect& aRect) const
- {
- if (!iPreviewDraw)
- return;
-// DrawButtons();
- CWindowGc& gc=SystemGc();
- iBorder.Draw(gc,Rect());
- gc.Clear();
- gc.SetPenStyle(CGraphicsContext::ENullPen);
- gc.SetBrushColor(KRgbWhite);
- gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-// TRect rectAboveButton(TPoint(iDisplayRect.iTl.iX-KScrollButtonWidth,iDisplayRect.iTl.iY),TSize(KScrollButtonWidth,iDisplayRect.Height()-(iButton[0]->IsVisible()? KScrollButtonWidth : 0)));
-// gc.DrawRect(rectAboveButton);
-// rectAboveButton=(TPoint(iDisplayRect.iTl.iX-KScrollButtonWidth,iDisplayRect.iTl.iY),TSize(KScrollButtonWidth,iDisplayRect.Height()-(iButton[1]->IsVisible()? KScrollButtonWidth : 0)));
-// rectAboveButton.Move(iDisplayRect.Width()+KScrollButtonWidth+1,1); // why are the 1s needed???
-// gc.DrawRect(rectAboveButton);
- gc.SetPenStyle(CGraphicsContext::ESolidPen);
- CONST_CAST(CDirectPrintPreviewControl*,this)->DrawPreview(aRect); // cast away constness
- }
-
-void CDirectPrintPreviewControl::SetDrawFlag(TBool aDraw)
- {
- iPreviewDraw=aDraw;
- }
-
-TBool CDirectPrintPreviewControl::DrawFlag()
- {
- return iPreviewDraw;
- }
-
-void CDirectPrintPreviewControl::SetFormatAndDrawL(TInt& aFirstPageToDisplay,TInt& aNumPagesToView)
- {
- iPreview->FormatL(iNumPagesInDoc,aFirstPageToDisplay,aNumPagesToView);
- *iFirstPageToDisplay=aFirstPageToDisplay;
- iNumPagesToView=aNumPagesToView;
- DrawButtons();
- DrawNow();
- }
-
-void CDirectPrintPreviewControl::SetMarginAndDrawL(CPrintPreviewImage::TMarginState aMarginState)
- {
- iPreview->SetMargins(aMarginState);
- iMarginState=aMarginState;
- DrawNow();
- }
-
-void CDirectPrintPreviewControl::SetNumPagesInDoc(TInt aNumPagesInDoc,TInt aFirstPageToDisplay,TInt aNumPagesToView)
- {
- iNumPagesInDoc=aNumPagesInDoc;
- *iFirstPageToDisplay=aFirstPageToDisplay;
- iNumPagesToView=aNumPagesToView;
- }
-
-void CDirectPrintPreviewControl::DrawPreview(const TRect& aRect)
- {
- TRAPD(err,iPreview->DrawL(iDisplayPoint,aRect));
- if (err)
- {
- SystemGc().Clear(iDisplayRect);
- CEikonEnv::Static()->NotifyIdleErrorWhileRedrawing(err);
- }
- }
-
-TKeyResponse CDirectPrintPreviewControl::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode /*aType*/)
- {
- TInt newFirstPageToDisplay=*iFirstPageToDisplay;
- switch (aKeyEvent.iCode)
- {
- case EKeyLeftArrow:
- case EKeyPageUp:
- newFirstPageToDisplay--;
- break;
- case EKeyRightArrow:
- case EKeyPageDown:
- newFirstPageToDisplay++;
- break;
- case EKeyHome:
- newFirstPageToDisplay=KFirstPage;
- break;
- case EKeyEnd:
- newFirstPageToDisplay=iNumPagesInDoc-iNumPagesToView;
- break;
- default:
- return(EKeyWasNotConsumed);
-
- }
- SwitchFirstPageToDisplayL(newFirstPageToDisplay);
- return(EKeyWasConsumed);
- }
-
-void CDirectPrintPreviewControl::SwitchFirstPageToDisplayL(TInt& aNewFirstPageToDisplay)
- {
- if (aNewFirstPageToDisplay<KFirstPage)
- aNewFirstPageToDisplay=KFirstPage;
- if (aNewFirstPageToDisplay>iNumPagesInDoc-iNumPagesToView)
- aNewFirstPageToDisplay=iNumPagesInDoc-iNumPagesToView;
- if (aNewFirstPageToDisplay!=*iFirstPageToDisplay)
- SetFormatAndDrawL(aNewFirstPageToDisplay,iNumPagesToView);
- }
-
-void CDirectPrintPreviewControl::HandleControlEventL(CCoeControl* /*aControl*/,TCoeEvent aEventType)
- {
- if (aEventType!=EEventStateChanged)
- return;
- TInt newFirstPageToDisplay=*iFirstPageToDisplay;
-// if (aControl==iButton[0])
-// newFirstPageToDisplay--;
-// else if (aControl==iButton[1])
-// newFirstPageToDisplay++;
- SwitchFirstPageToDisplayL(newFirstPageToDisplay);
- }
-
-void CDirectPrintPreviewControl::DrawButtons() const
- {
- if (iNumPagesToView==iNumPagesInDoc)
- {
-// iButton[1]->MakeVisible(EFalse);
-// iButton[0]->MakeVisible(EFalse);
- return;
- }
-// TBool leftvisible=ETrue;
-// TBool rightvisible=ETrue;
-// if (*iFirstPageToDisplay==KFirstPage)
-// leftvisible=EFalse;
-// else
-// {
-// if (*iFirstPageToDisplay>=iNumPagesInDoc-iNumPagesToView)
-// rightvisible=EFalse;
-// }
-// iButton[0]->MakeVisible(leftvisible);
-// iButton[1]->MakeVisible(rightvisible);
-//// iButton[0]->DrawNow();
-//// iButton[1]->DrawNow();
- }
-
-
-// for zoom
-void CDirectPrintPreviewControl::SetZoomLevel(TInt /*aZoomLevel*/)
- {
- SetZoomLevelAndDispalyRect(iZoomLevel);
- }
-
-TInt CDirectPrintPreviewControl::GetZoomLebel()
- {
- return (TInt)iZoomLevel;
- }
-
-void CDirectPrintPreviewControl::IncrementZoomLevel()
- {
- TInt zoom = iZoomLevel + 1;
- if (zoom >= EPreviewZoomLevel1
- && zoom < EPreviewZoomLevelMax)
- {
- SetZoomLevelAndDispalyRect(zoom);
- TRAPD(err, CreatePreviewImageL());
- if (err == KErrNone)
- {
- DrawNow();
- }
- }
- }
-
-void CDirectPrintPreviewControl::DecrementZoomLevel()
- {
- TInt zoom = iZoomLevel - 1;
- if (zoom >= EPreviewZoomLevel1)
- {
- SetZoomLevelAndDispalyRect(zoom);
- TRAPD(err, CreatePreviewImageL());
- if (err == KErrNone)
- {
- DrawNow();
- }
- }
- }
-
- // set zoom level
-void CDirectPrintPreviewControl::SetZoomLevelAndDispalyRect(TInt aZoomLevel)
- {
- static const TInt KZoomPercent[EPreviewZoomLevelMax] = {100, 120, 140, 160, 180};
- TInt oldZoomLevel = iZoomLevel;
- if (aZoomLevel == EPreviewZoomLevel1)
- {
- iDisplayRect = iBorder.InnerRect(Rect());
- iDisplayPoint = iDisplayRect.iTl;
- }
- else
- {
- TRect rect(iBorder.InnerRect(Rect()));
- TSize newSize;
- newSize.iWidth = (rect.Size().iWidth * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1];
- newSize.iHeight = (rect.Size().iHeight * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1];
- iDisplayRect.SetSize(newSize);
- if (oldZoomLevel != EPreviewZoomLevel1)
- {
- TPoint newPos;
- newPos.iX = Max(0, ((iDisplayPoint.iX * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1]));
- newPos.iY = Max(0, ((iDisplayPoint.iY * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1]));
- iDisplayPoint = newPos;
- }
- }
- iZoomLevel = aZoomLevel;
- }
-
-void CDirectPrintPreviewControl::CreatePreviewImageL()
- {
- if (iPreview)
- {
- delete iPreview;
- iPreview=NULL;
- }
-
- iPreview = CPrintPreviewImage::NewL(*iPrintSetup,
- *iBodyPrinter,
- CEikonEnv::Static()->WsSession(),
- Window(),
- iDisplayRect.Size(),
- *iPrintPreviewFormat);
- iPreview->SetNumBands(iNumBands);
- iPreview->FormatL(iNumPagesInDoc,*iFirstPageToDisplay,iNumPagesToView);
- iPreview->SetMargins(iMarginState);
-// TRect buttonRect(TPoint(iDisplayRect.iTl.iX-KScrollButtonWidth,iDisplayRect.iBr.iY-KScrollButtonWidth),
-// TSize(KScrollButtonWidth,KScrollButtonWidth));
-// iButton[0]->SetRect(buttonRect);
-// buttonRect.Move(iDisplayRect.Width()+KScrollButtonWidth,0);
-// iButton[1]->SetRect(buttonRect);
- }
-
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <coemain.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+#include <prninf.h>
+#include <prnsetup.h>
+#include <gdi.h>
+#include <prnprev.h>
+#include <eikenv.h>
+#include <gulbordr.h> // TGulBorder
+#include <e32cmn.h>
+
+#include "directprintapp.pan"
+#include "directprintapp.hrh"
+#include "directprintpreviewcontrol.h"
+
+const TInt KFirstPage=0;
+
+const TInt KDraggingAccepted = 10;
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::NewL()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintPreviewControl* CDirectPrintPreviewControl::NewL(const CCoeControl* aParent)
+ {
+ CDirectPrintPreviewControl* self = CDirectPrintPreviewControl::NewLC(aParent);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::NewLC()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintPreviewControl* CDirectPrintPreviewControl::NewLC(const CCoeControl* aParent)
+ {
+ CDirectPrintPreviewControl* self = new(ELeave) CDirectPrintPreviewControl();
+ CleanupStack::PushL(self);
+ self->ConstructL(aParent);
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::CDirectPrintPreviewControl()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintPreviewControl::CDirectPrintPreviewControl()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::~CDirectPrintPreviewControl()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintPreviewControl::~CDirectPrintPreviewControl()
+ {
+ Window().SetPointerGrab(EFalse);
+ delete iPreview;
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintPreviewControl::ConstructL(const CCoeControl* aParent)
+ {
+ // Create a window for this application view
+ if (aParent)
+ {
+ CreateBackedUpWindowL(*aParent->DrawableWindow(), EGray4);
+ }
+ else
+ {
+ CreateBackedUpWindowL((RWindowTreeNode&)iCoeEnv->RootWin(), EGray4);
+ }
+
+ EnableDragEvents();
+ Window().SetPointerGrab(ETrue);
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::SetPreviewImageObserver()
+//
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintPreviewControl::SetPreviewImageObserver(MPrintProcessObserver* aObserver)
+ {
+ __ASSERT_DEBUG(iPreview,Panic(EDirectPrintNullPointer));
+ iPreview->SetObserver(*aObserver);
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::CountComponentControls()
+// Called by framework
+// -----------------------------------------------------------------------------
+//
+TInt CDirectPrintPreviewControl::CountComponentControls() const
+ {
+// return(2);
+ return(0);
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::ComponentControl()
+// Called by framework
+// -----------------------------------------------------------------------------
+//
+CCoeControl* CDirectPrintPreviewControl::ComponentControl( TInt aIndex ) const
+ {
+ CCoeControl* control=NULL;
+ switch (aIndex)
+ {
+ case 0:
+// control=iButton[0];
+ break;
+ case 1:
+// control=iButton[1];
+ break;
+ }
+ return(control);
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::WriteInternalStateL()
+//
+// -----------------------------------------------------------------------------
+//
+#ifndef _DEBUG
+void CDirectPrintPreviewControl::WriteInternalStateL(RWriteStream& /*aWriteStream*/) const
+ {
+ }
+#else
+void CDirectPrintPreviewControl::WriteInternalStateL(RWriteStream& aWriteStream) const
+ {
+ CEikBorderedControl::WriteInternalStateL(aWriteStream);
+ }
+#endif
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppView::HandlePointerEventL()
+// Called by framework to handle pointer touch events.
+// Note: although this method is compatible with earlier SDKs,
+// it will not be called in SDKs without Touch support.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintPreviewControl::HandlePointerEventL(
+ const TPointerEvent& aPointerEvent)
+ {
+ const TRect rect=Rect();
+ if( !rect.Contains(aPointerEvent.iPosition) )
+ {
+ return;
+ }
+
+ switch ( aPointerEvent.iType )
+ {
+ case TPointerEvent::EButton1Down:
+ {
+ iPointerDownPos = aPointerEvent.iPosition;
+ }
+ break;
+ case TPointerEvent::EButton1Up:
+ case TPointerEvent::EDrag:
+ {
+ TInt x = aPointerEvent.iPosition.iX - iPointerDownPos.iX;
+ TInt y = aPointerEvent.iPosition.iY - iPointerDownPos.iY;
+ if (Abs(x) > KDraggingAccepted || Abs(y) > KDraggingAccepted)
+ {
+ TPoint newPos;
+ TInt maxWidth = iDisplayRect.Width() - rect.Width();
+ TInt maxHeight = iDisplayRect.Height() - rect.Height();
+ newPos.iX = Min(iDisplayPoint.iX + x, maxWidth);
+ if (newPos.iX <= (maxWidth*-1))
+ newPos.iX = (maxWidth*-1);
+ newPos.iY = Min(iDisplayPoint.iY + y, maxHeight);
+ if (newPos.iY <= (maxHeight*-1))
+ newPos.iY = (maxHeight*-1);
+ iDisplayPoint = newPos;
+ iPointerDownPos = aPointerEvent.iPosition;
+ DrawNow();
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintPreviewControl::ActivateL()
+ {
+ DrawButtons();
+ CCoeControl::ActivateL();
+ }
+
+TCoeInputCapabilities CDirectPrintPreviewControl::InputCapabilities() const
+ {
+ return TCoeInputCapabilities(TCoeInputCapabilities::ENavigation);
+ }
+
+void CDirectPrintPreviewControl::InitializeFormat(
+ CPrintSetup& aPrintSetup,
+ MPageRegionPrinter& aBodyPrinter,
+ TPrintPreviewFormat& aFormat,
+ TInt& aNumPagesInDoc,
+ TInt& aFirstPageToDisplay,
+ TInt aNumPagesToView,
+ CPrintPreviewImage::TMarginState& aMarginState)
+ {
+ iPrintSetup=&aPrintSetup;
+ iBodyPrinter=&aBodyPrinter;
+ iPrintPreviewFormat=&aFormat;
+ iFirstPageToDisplay=&aFirstPageToDisplay;
+ iNumPagesInDoc=aNumPagesInDoc;
+ iNumPagesToView=aNumPagesToView;
+ iMarginState=aMarginState;
+ }
+
+void CDirectPrintPreviewControl::SetNumBands(TInt aNumBands)
+ {
+ iNumBands=aNumBands;
+ if (iPreview)
+ {
+ iPreview->SetNumBands(aNumBands);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::SizeChanged()
+// Called by framework when the view size is changed.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintPreviewControl::SizeChanged()
+ // can't recover if CPrintPreviewImage::NewL() fails !!
+ {
+ iPreviewDraw=ETrue;
+
+ // set zoom level
+ SetZoomLevelAndDispalyRect(EPreviewZoomLevel1);
+
+ // create CPrintPreviewImage object
+ TRAP_IGNORE(CreatePreviewImageL());
+ }
+
+// -----------------------------------------------------------------------------
+// CDirectPrintPreviewControl::Draw()
+// Draws the display.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintPreviewControl::Draw(const TRect& aRect) const
+ {
+ if (!iPreviewDraw)
+ return;
+// DrawButtons();
+ CWindowGc& gc=SystemGc();
+ iBorder.Draw(gc,Rect());
+ gc.Clear();
+ gc.SetPenStyle(CGraphicsContext::ENullPen);
+ gc.SetBrushColor(KRgbWhite);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+// TRect rectAboveButton(TPoint(iDisplayRect.iTl.iX-KScrollButtonWidth,iDisplayRect.iTl.iY),TSize(KScrollButtonWidth,iDisplayRect.Height()-(iButton[0]->IsVisible()? KScrollButtonWidth : 0)));
+// gc.DrawRect(rectAboveButton);
+// rectAboveButton=(TPoint(iDisplayRect.iTl.iX-KScrollButtonWidth,iDisplayRect.iTl.iY),TSize(KScrollButtonWidth,iDisplayRect.Height()-(iButton[1]->IsVisible()? KScrollButtonWidth : 0)));
+// rectAboveButton.Move(iDisplayRect.Width()+KScrollButtonWidth+1,1); // why are the 1s needed???
+// gc.DrawRect(rectAboveButton);
+ gc.SetPenStyle(CGraphicsContext::ESolidPen);
+ CONST_CAST(CDirectPrintPreviewControl*,this)->DrawPreview(aRect); // cast away constness
+ }
+
+void CDirectPrintPreviewControl::SetDrawFlag(TBool aDraw)
+ {
+ iPreviewDraw=aDraw;
+ }
+
+TBool CDirectPrintPreviewControl::DrawFlag()
+ {
+ return iPreviewDraw;
+ }
+
+void CDirectPrintPreviewControl::SetFormatAndDrawL(TInt& aFirstPageToDisplay,TInt& aNumPagesToView)
+ {
+ iPreview->FormatL(iNumPagesInDoc,aFirstPageToDisplay,aNumPagesToView);
+ *iFirstPageToDisplay=aFirstPageToDisplay;
+ iNumPagesToView=aNumPagesToView;
+ DrawButtons();
+ DrawNow();
+ }
+
+void CDirectPrintPreviewControl::SetMarginAndDrawL(CPrintPreviewImage::TMarginState aMarginState)
+ {
+ iPreview->SetMargins(aMarginState);
+ iMarginState=aMarginState;
+ DrawNow();
+ }
+
+void CDirectPrintPreviewControl::SetNumPagesInDoc(TInt aNumPagesInDoc,TInt aFirstPageToDisplay,TInt aNumPagesToView)
+ {
+ iNumPagesInDoc=aNumPagesInDoc;
+ *iFirstPageToDisplay=aFirstPageToDisplay;
+ iNumPagesToView=aNumPagesToView;
+ }
+
+void CDirectPrintPreviewControl::DrawPreview(const TRect& aRect)
+ {
+ TRAPD(err,iPreview->DrawL(iDisplayPoint,aRect));
+ if (err)
+ {
+ SystemGc().Clear(iDisplayRect);
+ CEikonEnv::Static()->NotifyIdleErrorWhileRedrawing(err);
+ }
+ }
+
+TKeyResponse CDirectPrintPreviewControl::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode /*aType*/)
+ {
+ TInt newFirstPageToDisplay=*iFirstPageToDisplay;
+ switch (aKeyEvent.iCode)
+ {
+ case EKeyLeftArrow:
+ case EKeyPageUp:
+ newFirstPageToDisplay--;
+ break;
+ case EKeyRightArrow:
+ case EKeyPageDown:
+ newFirstPageToDisplay++;
+ break;
+ case EKeyHome:
+ newFirstPageToDisplay=KFirstPage;
+ break;
+ case EKeyEnd:
+ newFirstPageToDisplay=iNumPagesInDoc-iNumPagesToView;
+ break;
+ default:
+ return(EKeyWasNotConsumed);
+
+ }
+ SwitchFirstPageToDisplayL(newFirstPageToDisplay);
+ return(EKeyWasConsumed);
+ }
+
+void CDirectPrintPreviewControl::SwitchFirstPageToDisplayL(TInt& aNewFirstPageToDisplay)
+ {
+ if (aNewFirstPageToDisplay<KFirstPage)
+ aNewFirstPageToDisplay=KFirstPage;
+ if (aNewFirstPageToDisplay>iNumPagesInDoc-iNumPagesToView)
+ aNewFirstPageToDisplay=iNumPagesInDoc-iNumPagesToView;
+ if (aNewFirstPageToDisplay!=*iFirstPageToDisplay)
+ SetFormatAndDrawL(aNewFirstPageToDisplay,iNumPagesToView);
+ }
+
+void CDirectPrintPreviewControl::HandleControlEventL(CCoeControl* /*aControl*/,TCoeEvent aEventType)
+ {
+ if (aEventType!=EEventStateChanged)
+ return;
+ TInt newFirstPageToDisplay=*iFirstPageToDisplay;
+// if (aControl==iButton[0])
+// newFirstPageToDisplay--;
+// else if (aControl==iButton[1])
+// newFirstPageToDisplay++;
+ SwitchFirstPageToDisplayL(newFirstPageToDisplay);
+ }
+
+void CDirectPrintPreviewControl::DrawButtons() const
+ {
+ if (iNumPagesToView==iNumPagesInDoc)
+ {
+// iButton[1]->MakeVisible(EFalse);
+// iButton[0]->MakeVisible(EFalse);
+ return;
+ }
+// TBool leftvisible=ETrue;
+// TBool rightvisible=ETrue;
+// if (*iFirstPageToDisplay==KFirstPage)
+// leftvisible=EFalse;
+// else
+// {
+// if (*iFirstPageToDisplay>=iNumPagesInDoc-iNumPagesToView)
+// rightvisible=EFalse;
+// }
+// iButton[0]->MakeVisible(leftvisible);
+// iButton[1]->MakeVisible(rightvisible);
+//// iButton[0]->DrawNow();
+//// iButton[1]->DrawNow();
+ }
+
+
+// for zoom
+void CDirectPrintPreviewControl::SetZoomLevel(TInt /*aZoomLevel*/)
+ {
+ SetZoomLevelAndDispalyRect(iZoomLevel);
+ }
+
+TInt CDirectPrintPreviewControl::GetZoomLebel()
+ {
+ return (TInt)iZoomLevel;
+ }
+
+void CDirectPrintPreviewControl::IncrementZoomLevel()
+ {
+ TInt zoom = iZoomLevel + 1;
+ if (zoom >= EPreviewZoomLevel1
+ && zoom < EPreviewZoomLevelMax)
+ {
+ SetZoomLevelAndDispalyRect(zoom);
+ TRAPD(err, CreatePreviewImageL());
+ if (err == KErrNone)
+ {
+ DrawNow();
+ }
+ }
+ }
+
+void CDirectPrintPreviewControl::DecrementZoomLevel()
+ {
+ TInt zoom = iZoomLevel - 1;
+ if (zoom >= EPreviewZoomLevel1)
+ {
+ SetZoomLevelAndDispalyRect(zoom);
+ TRAPD(err, CreatePreviewImageL());
+ if (err == KErrNone)
+ {
+ DrawNow();
+ }
+ }
+ }
+
+ // set zoom level
+void CDirectPrintPreviewControl::SetZoomLevelAndDispalyRect(TInt aZoomLevel)
+ {
+ static const TInt KZoomPercent[EPreviewZoomLevelMax] = {100, 120, 140, 160, 180};
+ TInt oldZoomLevel = iZoomLevel;
+ if (aZoomLevel == EPreviewZoomLevel1)
+ {
+ iDisplayRect = iBorder.InnerRect(Rect());
+ iDisplayPoint = iDisplayRect.iTl;
+ }
+ else
+ {
+ TRect rect(iBorder.InnerRect(Rect()));
+ TSize newSize;
+ newSize.iWidth = (rect.Size().iWidth * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1];
+ newSize.iHeight = (rect.Size().iHeight * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1];
+ iDisplayRect.SetSize(newSize);
+ if (oldZoomLevel != EPreviewZoomLevel1)
+ {
+ TPoint newPos;
+ newPos.iX = Max(0, ((iDisplayPoint.iX * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1]));
+ newPos.iY = Max(0, ((iDisplayPoint.iY * KZoomPercent[aZoomLevel] + 5) / KZoomPercent[EPreviewZoomLevel1]));
+ iDisplayPoint = newPos;
+ }
+ }
+ iZoomLevel = aZoomLevel;
+ }
+
+void CDirectPrintPreviewControl::CreatePreviewImageL()
+ {
+ if (iPreview)
+ {
+ delete iPreview;
+ iPreview=NULL;
+ }
+
+ iPreview = CPrintPreviewImage::NewL(*iPrintSetup,
+ *iBodyPrinter,
+ CEikonEnv::Static()->WsSession(),
+ Window(),
+ iDisplayRect.Size(),
+ *iPrintPreviewFormat);
+ iPreview->SetNumBands(iNumBands);
+ iPreview->FormatL(iNumPagesInDoc,*iFirstPageToDisplay,iNumPagesToView);
+ iPreview->SetMargins(iMarginState);
+// TRect buttonRect(TPoint(iDisplayRect.iTl.iX-KScrollButtonWidth,iDisplayRect.iBr.iY-KScrollButtonWidth),
+// TSize(KScrollButtonWidth,KScrollButtonWidth));
+// iButton[0]->SetRect(buttonRect);
+// buttonRect.Move(iDisplayRect.Width()+KScrollButtonWidth,0);
+// iButton[1]->SetRect(buttonRect);
+ }
+
+// End of file
--- a/DirectPrint/DirectPrintApp/ui/src/directprintpreviewview.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintpreviewview.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,244 +1,244 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <aknviewappui.h>
-#include <akntoolbar.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-#include <eikcore.rsg>
-#include <prnprev.h>
-
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "DirectPrintAppAppUi.h"
-#include "DirectPrintEngine.h"
-#include "directprintpreviewview.h"
-#include "directprintpreviewcontrol.h"
-
-CDirectPrintPreviewView::CDirectPrintPreviewView()
- {
- }
-
-CDirectPrintPreviewView::~CDirectPrintPreviewView()
- {
- delete iPrevCtrl;
- }
-
-CDirectPrintPreviewView* CDirectPrintPreviewView::NewL()
- {
- CDirectPrintPreviewView* self = CDirectPrintPreviewView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintPreviewView* CDirectPrintPreviewView::NewLC()
- {
- CDirectPrintPreviewView* self = new(ELeave) CDirectPrintPreviewView();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintPreviewView::ConstructL()
- {
- LOG("CDirectPrintPreviewView::ConstructL BEGIN");
- BaseConstructL(R_DIRECTPRINT_PREVIEW_VIEW);
- LOG("CDirectPrintPreviewView::ConstructL END");
- }
-
-void CDirectPrintPreviewView::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EAknSoftkeyBack:
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdPreviewViewBack);
- }
- break;
- case EDirectPrintCmdIdPreviewViewPrint:
- case EDirectPrintCmdIdPreviewViewExpand:
- case EDirectPrintCmdIdPreviewViewReduce:
- case EDirectPrintCmdIdPreviewViewBack:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- }
- }
-
-TUid CDirectPrintPreviewView::Id() const
- {
- return TUid::Uid(EDirectPrintPreviewViewId);
- }
-
-void CDirectPrintPreviewView::OfferToolbarEventL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EDirectPrintCmdIdPreviewViewPrint:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- case EDirectPrintCmdIdPreviewViewExpand:
- {
- iPrevCtrl->IncrementZoomLevel();
- ChangeVisibleState();
- }
- break;
- case EDirectPrintCmdIdPreviewViewReduce:
- {
- iPrevCtrl->DecrementZoomLevel();
- ChangeVisibleState();
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintPreviewView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- LOG("CDirectPrintPreviewView::DoActivateL BEGIN");
- CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
- toolbar->SetToolbarObserver(this);
- // set the title pane
- SetActiveTitleL(R_DIRECTPRINT_PREVIEW_TITLE);
-
- if (!iPrevCtrl)
- {
- CDirectPrintAppAppUi* appui = static_cast<CDirectPrintAppAppUi*>( AppUi() );
- CDirectPrintEngine* engine = appui->Engine();
-
- const TInt KPanelGutter=5;
- const TInt KShadowWidth=2;
- const TInt KLabelFontHeight=12;
-
- TFontSpec normalFontSpec = CEikonEnv::Static()->NormalFont()->FontSpecInTwips();
- TFontSpec fontSpec(normalFontSpec);
- fontSpec.iHeight = KLabelFontHeight;
- iPrintPreviewFormat.iLabelFontSpecInPixels=fontSpec;
- iPrintPreviewFormat.iMinPanelGutterInPixels=TSize(KPanelGutter,KPanelGutter);
- iPrintPreviewFormat.iPanelShadowWidthInPixels=KShadowWidth;
- iPrintPreviewFormat.iPanelShadowColor=KRgbDarkGray;
- iPrintPreviewFormat.iPanelMarginColor=KRgbGray;
- iPrintPreviewFormat.iLabelOffsetInPixels=5;
-
- iPrevCtrl = CDirectPrintPreviewControl::NewL(NULL);
- iPrevCtrl->SetMopParent(this);
-
- //iNumPagesInDoc = engine->MaxPageNum();
- iNumPagesInDoc = 3;
- iFirstPageToDisplay = 1;
- iNumPagesToView = 1;
- iNumBands = 2;
- iMarginState = CPrintPreviewImage::EShowMargins;
-
- engine->StartPrintPreviewL();
-
- iPrevCtrl->InitializeFormat(*(engine->PrintSetup()),
- *(engine->PageRegionPrinter()),
- iPrintPreviewFormat,
- iNumPagesInDoc,
- iFirstPageToDisplay,
- iNumPagesToView,
- iMarginState);
- iPrevCtrl->ActivateL();
- iPrevCtrl->SetNumBands(2);
- }
- iPrevCtrl->SetRect(ClientRect());
- iPrevCtrl->SetDrawFlag(ETrue);
- iPrevCtrl->MakeVisible(ETrue);
- iPrevCtrl->DrawDeferred();
- AppUi()->AddToStackL(*this, iPrevCtrl);
- ChangeVisibleState();
- LOG("CDirectPrintPreviewView::DoActivateL END");
- }
-
-void CDirectPrintPreviewView::DoDeactivate()
- {
- LOG("CDirectPrintPreviewView::DoDeactivate BEGIN");
- AppUi()->RemoveFromViewStack(*this, iPrevCtrl);
- if (iPrevCtrl)
- {
- CDirectPrintAppAppUi* appui = static_cast<CDirectPrintAppAppUi*>( AppUi() );
- CDirectPrintEngine* engine = appui->Engine();
- engine->EndPrintPreview();
- delete iPrevCtrl;
- iPrevCtrl = NULL;
- }
- LOG("CDirectPrintPreviewView::DoDeactivate END");
- }
-
-
-void CDirectPrintPreviewView::NotifyBandPrinted(TInt /*aPercentageOfPagePrinted*/,
- TInt /*aCurrentPageNum*/,
- TInt /*aCurrentCopyNum*/)
- {
- LOG("CDirectPrintPreviewView::NotifyBandPrinted");
- }
-
-
-void CDirectPrintPreviewView::NotifyPrintStarted(TPrintParameters /*aPrintParams*/)
- {
- LOG("CDirectPrintPreviewView::NotifyPrintStarted");
- }
-
-void CDirectPrintPreviewView::NotifyPrintEnded(TInt anErrorCode)
- // ignore any errors before fully initialized
- {
- LOG1("CDirectPrintPreviewView::NotifyPrintEnded [%d]", anErrorCode);
- if (anErrorCode!=KErrNone && anErrorCode!=KErrCancel)
- {
- TBuf<80> previewError;
- if (anErrorCode==KErrNoMemory)
- iCoeEnv->ReadResource(previewError,R_EIK_TBUF_NOT_ENOUGH_MEMORY);
- else
- iCoeEnv->ReadResource(previewError,R_DIRECTPRINT_MSG_PREVIEW_ERR);
- iEikonEnv->AlertWin(previewError);
- // ToDo: Go back to Main view
- //delete this;
- }
- }
-
-void CDirectPrintPreviewView::ChangeVisibleState()
- {
- CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
-
- TBool isDimmedExpand = EFalse;
- TBool isDimmedReduce = EFalse;
- switch (iPrevCtrl->GetZoomLebel())
- {
- case CDirectPrintPreviewControl::EPreviewZoomLevel1:
- isDimmedReduce = ETrue;
- break;
- case CDirectPrintPreviewControl::EPreviewZoomLevel5:
- isDimmedExpand = ETrue;
- break;
- default:
- break;
- }
- toolbar->SetItemDimmed(EDirectPrintCmdIdPreviewViewExpand, isDimmedExpand, ETrue);
- toolbar->SetItemDimmed(EDirectPrintCmdIdPreviewViewReduce, isDimmedReduce, ETrue);
- }
-
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <aknviewappui.h>
+#include <akntoolbar.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+#include <eikcore.rsg>
+#include <prnprev.h>
+
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "DirectPrintAppAppUi.h"
+#include "DirectPrintEngine.h"
+#include "directprintpreviewview.h"
+#include "directprintpreviewcontrol.h"
+
+CDirectPrintPreviewView::CDirectPrintPreviewView()
+ {
+ }
+
+CDirectPrintPreviewView::~CDirectPrintPreviewView()
+ {
+ delete iPrevCtrl;
+ }
+
+CDirectPrintPreviewView* CDirectPrintPreviewView::NewL()
+ {
+ CDirectPrintPreviewView* self = CDirectPrintPreviewView::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintPreviewView* CDirectPrintPreviewView::NewLC()
+ {
+ CDirectPrintPreviewView* self = new(ELeave) CDirectPrintPreviewView();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintPreviewView::ConstructL()
+ {
+ LOG("CDirectPrintPreviewView::ConstructL BEGIN");
+ BaseConstructL(R_DIRECTPRINT_PREVIEW_VIEW);
+ LOG("CDirectPrintPreviewView::ConstructL END");
+ }
+
+void CDirectPrintPreviewView::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyBack:
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdPreviewViewBack);
+ }
+ break;
+ case EDirectPrintCmdIdPreviewViewPrint:
+ case EDirectPrintCmdIdPreviewViewExpand:
+ case EDirectPrintCmdIdPreviewViewReduce:
+ case EDirectPrintCmdIdPreviewViewBack:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ }
+ }
+
+TUid CDirectPrintPreviewView::Id() const
+ {
+ return TUid::Uid(EDirectPrintPreviewViewId);
+ }
+
+void CDirectPrintPreviewView::OfferToolbarEventL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EDirectPrintCmdIdPreviewViewPrint:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ case EDirectPrintCmdIdPreviewViewExpand:
+ {
+ iPrevCtrl->IncrementZoomLevel();
+ ChangeVisibleState();
+ }
+ break;
+ case EDirectPrintCmdIdPreviewViewReduce:
+ {
+ iPrevCtrl->DecrementZoomLevel();
+ ChangeVisibleState();
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintPreviewView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ LOG("CDirectPrintPreviewView::DoActivateL BEGIN");
+ CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
+ toolbar->SetToolbarObserver(this);
+ // set the title pane
+ SetActiveTitleL(R_DIRECTPRINT_PREVIEW_TITLE);
+
+ if (!iPrevCtrl)
+ {
+ CDirectPrintAppAppUi* appui = static_cast<CDirectPrintAppAppUi*>( AppUi() );
+ CDirectPrintEngine* engine = appui->Engine();
+
+ const TInt KPanelGutter=5;
+ const TInt KShadowWidth=2;
+ const TInt KLabelFontHeight=12;
+
+ TFontSpec normalFontSpec = CEikonEnv::Static()->NormalFont()->FontSpecInTwips();
+ TFontSpec fontSpec(normalFontSpec);
+ fontSpec.iHeight = KLabelFontHeight;
+ iPrintPreviewFormat.iLabelFontSpecInPixels=fontSpec;
+ iPrintPreviewFormat.iMinPanelGutterInPixels=TSize(KPanelGutter,KPanelGutter);
+ iPrintPreviewFormat.iPanelShadowWidthInPixels=KShadowWidth;
+ iPrintPreviewFormat.iPanelShadowColor=KRgbDarkGray;
+ iPrintPreviewFormat.iPanelMarginColor=KRgbGray;
+ iPrintPreviewFormat.iLabelOffsetInPixels=5;
+
+ iPrevCtrl = CDirectPrintPreviewControl::NewL(NULL);
+ iPrevCtrl->SetMopParent(this);
+
+ //iNumPagesInDoc = engine->MaxPageNum();
+ iNumPagesInDoc = 3;
+ iFirstPageToDisplay = 1;
+ iNumPagesToView = 1;
+ iNumBands = 2;
+ iMarginState = CPrintPreviewImage::EShowMargins;
+
+ engine->StartPrintPreviewL();
+
+ iPrevCtrl->InitializeFormat(*(engine->PrintSetup()),
+ *(engine->PageRegionPrinter()),
+ iPrintPreviewFormat,
+ iNumPagesInDoc,
+ iFirstPageToDisplay,
+ iNumPagesToView,
+ iMarginState);
+ iPrevCtrl->ActivateL();
+ iPrevCtrl->SetNumBands(2);
+ }
+ iPrevCtrl->SetRect(ClientRect());
+ iPrevCtrl->SetDrawFlag(ETrue);
+ iPrevCtrl->MakeVisible(ETrue);
+ iPrevCtrl->DrawDeferred();
+ AppUi()->AddToStackL(*this, iPrevCtrl);
+ ChangeVisibleState();
+ LOG("CDirectPrintPreviewView::DoActivateL END");
+ }
+
+void CDirectPrintPreviewView::DoDeactivate()
+ {
+ LOG("CDirectPrintPreviewView::DoDeactivate BEGIN");
+ AppUi()->RemoveFromViewStack(*this, iPrevCtrl);
+ if (iPrevCtrl)
+ {
+ CDirectPrintAppAppUi* appui = static_cast<CDirectPrintAppAppUi*>( AppUi() );
+ CDirectPrintEngine* engine = appui->Engine();
+ engine->EndPrintPreview();
+ delete iPrevCtrl;
+ iPrevCtrl = NULL;
+ }
+ LOG("CDirectPrintPreviewView::DoDeactivate END");
+ }
+
+
+void CDirectPrintPreviewView::NotifyBandPrinted(TInt /*aPercentageOfPagePrinted*/,
+ TInt /*aCurrentPageNum*/,
+ TInt /*aCurrentCopyNum*/)
+ {
+ LOG("CDirectPrintPreviewView::NotifyBandPrinted");
+ }
+
+
+void CDirectPrintPreviewView::NotifyPrintStarted(TPrintParameters /*aPrintParams*/)
+ {
+ LOG("CDirectPrintPreviewView::NotifyPrintStarted");
+ }
+
+void CDirectPrintPreviewView::NotifyPrintEnded(TInt anErrorCode)
+ // ignore any errors before fully initialized
+ {
+ LOG1("CDirectPrintPreviewView::NotifyPrintEnded [%d]", anErrorCode);
+ if (anErrorCode!=KErrNone && anErrorCode!=KErrCancel)
+ {
+ TBuf<80> previewError;
+ if (anErrorCode==KErrNoMemory)
+ iCoeEnv->ReadResource(previewError,R_EIK_TBUF_NOT_ENOUGH_MEMORY);
+ else
+ iCoeEnv->ReadResource(previewError,R_DIRECTPRINT_MSG_PREVIEW_ERR);
+ iEikonEnv->AlertWin(previewError);
+ // ToDo: Go back to Main view
+ //delete this;
+ }
+ }
+
+void CDirectPrintPreviewView::ChangeVisibleState()
+ {
+ CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
+
+ TBool isDimmedExpand = EFalse;
+ TBool isDimmedReduce = EFalse;
+ switch (iPrevCtrl->GetZoomLebel())
+ {
+ case CDirectPrintPreviewControl::EPreviewZoomLevel1:
+ isDimmedReduce = ETrue;
+ break;
+ case CDirectPrintPreviewControl::EPreviewZoomLevel5:
+ isDimmedExpand = ETrue;
+ break;
+ default:
+ break;
+ }
+ toolbar->SetItemDimmed(EDirectPrintCmdIdPreviewViewExpand, isDimmedExpand, ETrue);
+ toolbar->SetItemDimmed(EDirectPrintCmdIdPreviewViewReduce, isDimmedReduce, ETrue);
+ }
+
+// End of file
--- a/DirectPrint/DirectPrintApp/ui/src/directprintpropertyview.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintpropertyview.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,633 +1,633 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <aknviewappui.h>
-#include <akntoolbar.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "directprintmodel.h"
-#include "directprintpropertyview.h"
-#include "DirectPrintUiPluginMgr.h"
-#include "DirectPrintUiPlugin.h"
-
-CDirectPrintPropertyView::CDirectPrintPropertyView()
- {
- iListBox = NULL;
- }
-
-CDirectPrintPropertyView::~CDirectPrintPropertyView()
- {
- AppUi()->RemoveFromViewStack(*this, iListBox);
- delete iListBox;
- }
-
-CDirectPrintPropertyView* CDirectPrintPropertyView::NewL()
- {
- CDirectPrintPropertyView* self = CDirectPrintPropertyView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintPropertyView* CDirectPrintPropertyView::NewLC()
- {
- CDirectPrintPropertyView* self = new(ELeave) CDirectPrintPropertyView();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintPropertyView::ConstructL()
- {
- LOG("CDirectPrintPropertyView::ConstructL BEGIN");
- BaseConstructL(R_DIRECTPRINT_PROPERTYSETTING_VIEW);
-
- iViewId = TUid::Uid(EDirectPrintPropertyViewId);
- LOG("CDirectPrintPropertyView::ConstructL END");
- }
-
-void CDirectPrintPropertyView::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EAknSoftkeyBack:
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdPropertySettingViewBack);
- }
- break;
- default:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- }
- }
-
-void CDirectPrintPropertyView::OfferToolbarEventL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EDirectPrintCmdIdPropertySettingViewPreview:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintPropertyView::ChangeTabL(TInt aTabIndex)
- {
- iTabIndex = aTabIndex;
- iListBox->SettingItemArray()->ResetAndDestroy();
- LoadListL();
- iListBox->LoadSettingsL();
- iListBox->DrawNow();
- }
-
-void CDirectPrintPropertyView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- LOG("CDirectPrintPropertyView::DoActivateL BEGIN");
- CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
- toolbar->SetToolbarObserver(this);
-
- ReadDataL();
-
- // Create list box
- if (!iListBox)
- {
- iListBox = CDirectPrintSettingListBox::NewL(ClientRect());
- iListBox->SetMopParent(this);
- iListBox->ConstructFromResourceL(R_DIRECTPRINT_PROPERTYSETTING_SETTING_ITEM_LIST);
- iListBox->ActivateL();
- }
- ChangeTabL(EDirectPrintPaperSettingTab);
- iListBox->LoadSettingsL();
- AppUi()->AddToStackL(*this, iListBox);
- iListBox->MakeVisible(ETrue);
- iListBox->DrawNow();
-
- // set the title pane
- SetActiveTitleL(R_DIRECTPRINT_PROPERTYSETTING_TITLE);
- LOG("CDirectPrintPropertyView::DoActivateL END");
- }
-
-void CDirectPrintPropertyView::DoDeactivate()
- {
- LOG("CDirectPrintPropertyView::DoDeactivate BEGIN");
- TInt err = 0;
-
- if (iListBox)
- {
- TRAP(err, iListBox->StoreSettingsL());
- TRAP(err, WriteDataL());
-
- iListBox->MakeVisible(EFalse);
- AppUi()->RemoveFromViewStack(*this, iListBox);
- }
- LOG("CDirectPrintPropertyView::DoDeactivate END");
- }
-
-void CDirectPrintPropertyView::LoadListL()
- {
- LOG("CDirectPrintPropertyView::LoadListL BEGIN");
-
- switch (iTabIndex)
- {
- case EDirectPrintPaperSettingTab:
- {
- LoadPaperTabL();
- }
- break;
- case EDirectPrintPageSettingTab:
- {
- LoadPageTabL();
- }
- break;
- case EDirectPrintMarginSettingTab:
- {
- LoadMarginTabL();
- }
- break;
- case EDirectPrintHeaderSettingTab:
- {
- LoadHeaderTabL();
- }
- break;
- case EDirectPrintFooterSettingTab:
- {
- LoadFooterTabL();
- }
- break;
- default:
- break;
- }
-
- // Set extend setting item
- CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
- if (plugin)
- {
- plugin->LoadExtendItemsL(*(iListBox->SettingItemArray()), iTabIndex);
- }
-
- iListBox->HandleChangeInItemArrayOrVisibilityL();
- LOG("CDirectPrintPropertyView::LoadListL END");
- }
-
-void CDirectPrintPropertyView::ReadDataL()
- {
- LOG("CDirectPrintPropertyView::ReadDataL BEGIN");
-
- CDirectPrintModel& model = GetModel();
- CPrinterProperty* property = model.GetCurrentPrinterPropertyL(TUid::Uid(0));
-
- if (property)
- {
- TInt count = property->iPropertyItems.Count();
- for (TInt i=0; i<count; i++)
- {
- switch (property->iPropertyItems[i].iItemId)
- {
- case EDirectPrintPaperPaperSize:
- {
- iPaperSize = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPaperOrientation:
- {
- iOrientation = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPaperHight:
- {
- iHight = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPaperWidth:
- {
- iWidth = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPagePrintPage:
- {
- iPrintPage = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintPagePrintRange:
- {
- iPrintRange.Copy(property->iPropertyItems[i].iItemTextValue);
- }
- break;
- case EDirectPrintPageCopy:
- {
- iCopy = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintMarginLeftMargin:
- {
- iLeftMargin = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintMarginRightMargin:
- {
- iRightMargin = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintMarginTopMargin:
- {
- iTopMargin = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintMarginBottomMargin:
- {
- iBottomMargin = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintHeaderHeaderText:
- {
- iHeaderText.Copy(property->iPropertyItems[i].iItemTextValue);
- }
- break;
- case EDirectPrintHeaderDistance:
- {
- iHeaderDistance = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintHeaderFirstPage:
- {
- iHeaderFirstPage = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintFooterFooterText:
- {
- iFooterText.Copy(property->iPropertyItems[i].iItemTextValue);
- }
- break;
- case EDirectPrintFooterDistance:
- {
- iFooterDistance = property->iPropertyItems[i].iItemValue;
- }
- break;
- case EDirectPrintFooterFirstPage:
- {
- iFooterFirstPage = property->iPropertyItems[i].iItemValue;
- }
- break;
- default:
- {
- // Set extend setting item
- CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
- if (plugin)
- {
- plugin->ReadDataL(property->iPropertyItems[i]);
- }
- }
- break;
- }
- }
- }
- else
- {
- model.SetCurrentProperty(model.PropertyCount());
- NewDataL();
- }
-
- LOG("CDirectPrintPropertyView::ReadDataL END");
- }
-
-void CDirectPrintPropertyView::WriteDataL()
- {
- LOG("CDirectPrintPropertyView::WriteDataL BEGIN");
-
- CDirectPrintModel& model = GetModel();
- CPrinterProperty* property = new (ELeave) CPrinterProperty();
- CleanupStack::PushL(property);
- property->iPrinterId = model.GetCurrentPrinterIdL();
- property->iApplicationId = 0;
-
- TDirectPrintPropertyData data1;
- data1.iItemType = EDirectPrintPaperSettingTab;
- data1.iItemId = EDirectPrintPaperPaperSize;
- //data1.iItemName.Copy();
- data1.iItemValue = iPaperSize;
- property->iPropertyItems.Append(data1);
-
- TDirectPrintPropertyData data2;
- data2.iItemType = EDirectPrintPaperSettingTab;
- data2.iItemId = EDirectPrintPaperOrientation;
- //data2.iItemName.Copy();
- data2.iItemValue = iOrientation;
- property->iPropertyItems.Append(data2);
-
- TDirectPrintPropertyData data3;
- data3.iItemType = EDirectPrintPaperSettingTab;
- data3.iItemId = EDirectPrintPaperHight;
- //data3.iItemName.Copy();
- data3.iItemValue = iHight;
- property->iPropertyItems.Append(data3);
-
- TDirectPrintPropertyData data4;
- data4.iItemType = EDirectPrintPaperSettingTab;
- data4.iItemId = EDirectPrintPaperWidth;
- //data4.iItemName.Copy();
- data4.iItemValue = iWidth;
- property->iPropertyItems.Append(data4);
-
- TDirectPrintPropertyData data5;
- data5.iItemType = EDirectPrintPageSettingTab;
- data5.iItemId = EDirectPrintPagePrintPage;
- //data5.iItemName.Copy();
- data5.iItemValue = iPrintPage;
- property->iPropertyItems.Append(data5);
-
- TDirectPrintPropertyData data6;
- data6.iItemType = EDirectPrintPageSettingTab;
- data6.iItemId = EDirectPrintPagePrintRange;
- //data6.iItemName.Copy();
- data6.iItemTextValue.Copy(iPrintRange);
- property->iPropertyItems.Append(data6);
-
- TDirectPrintPropertyData data7;
- data7.iItemType = EDirectPrintPageSettingTab;
- data7.iItemId = EDirectPrintPageCopy;
- //data7.iItemName.Copy();
- data7.iItemValue = iCopy;
- property->iPropertyItems.Append(data7);
-
- TDirectPrintPropertyData data8;
- data8.iItemType = EDirectPrintMarginSettingTab;
- data8.iItemId = EDirectPrintMarginLeftMargin;
- //data8.iItemName.Copy();
- data8.iItemValue = iLeftMargin;
- property->iPropertyItems.Append(data8);
-
- TDirectPrintPropertyData data9;
- data9.iItemType = EDirectPrintMarginSettingTab;
- data9.iItemId = EDirectPrintMarginRightMargin;
- //data9.iItemName.Copy();
- data9.iItemValue = iRightMargin;
- property->iPropertyItems.Append(data9);
-
- TDirectPrintPropertyData data10;
- data10.iItemType = EDirectPrintMarginSettingTab;
- data10.iItemId = EDirectPrintMarginTopMargin;
- //data10.iItemName.Copy();
- data10.iItemValue = iTopMargin;
- property->iPropertyItems.Append(data10);
-
- TDirectPrintPropertyData data11;
- data11.iItemType = EDirectPrintMarginSettingTab;
- data11.iItemId = EDirectPrintMarginBottomMargin;
- //data11.iItemName.Copy();
- data11.iItemValue = iBottomMargin;
- property->iPropertyItems.Append(data11);
-
- TDirectPrintPropertyData data12;
- data12.iItemType = EDirectPrintHeaderSettingTab;
- data12.iItemId = EDirectPrintHeaderHeaderText;
- //data12.iItemName.Copy();
- data12.iItemTextValue.Copy(iHeaderText);
- property->iPropertyItems.Append(data12);
-
- TDirectPrintPropertyData data13;
- data13.iItemType = EDirectPrintHeaderSettingTab;
- data13.iItemId = EDirectPrintHeaderDistance;
- //data13.iItemName.Copy();
- data13.iItemValue = iHeaderDistance;
- property->iPropertyItems.Append(data13);
-
- TDirectPrintPropertyData data14;
- data14.iItemType = EDirectPrintHeaderSettingTab;
- data14.iItemId = EDirectPrintHeaderFirstPage;
- //data14.iItemName.Copy();
- data14.iItemValue = iHeaderFirstPage;
- property->iPropertyItems.Append(data14);
-
- TDirectPrintPropertyData data15;
- data15.iItemType = EDirectPrintFooterSettingTab;
- data15.iItemId = EDirectPrintFooterFooterText;
- //data15.iItemName.Copy();
- data15.iItemTextValue.Copy(iFooterText);
- property->iPropertyItems.Append(data15);
-
- TDirectPrintPropertyData data16;
- data16.iItemType = EDirectPrintFooterSettingTab;
- data16.iItemId = EDirectPrintFooterDistance;
- //data16.iItemName.Copy();
- data16.iItemValue = iFooterDistance;
- property->iPropertyItems.Append(data16);
-
- TDirectPrintPropertyData data17;
- data17.iItemType = EDirectPrintFooterSettingTab;
- data17.iItemId = EDirectPrintFooterFirstPage;
- //data17.iItemName.Copy();
- data17.iItemValue = iFooterFirstPage;
- property->iPropertyItems.Append(data17);
-
- // Set extend setting item
- CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
- if (plugin)
- {
- plugin->WriteDataL(property->iPropertyItems);
- }
-
- CleanupStack::Pop(property);
- model.SetPrinterPropertyL(property);
-
- LOG("CDirectPrintPropertyView::WriteDataL END");
- }
-
-void CDirectPrintPropertyView::NewDataL()
- {
- LOG("CDirectPrintPropertyView::NewDataL BEGIN");
-
- iPaperSize = 0;
- iOrientation = 0;
- iHight = 0;
- iWidth = 0;
- iPrintPage = 0;
- iPrintRange.Copy(_L(""));
- iCopy = 1;
- iLeftMargin = 2;
- iRightMargin = 2;
- iTopMargin = 2;
- iBottomMargin = 2;
- iHeaderText.Copy(_L(""));
- iHeaderDistance = 0;
- iHeaderFirstPage = 0;
- iFooterText.Copy(_L(""));
- iFooterDistance = 0;
- iFooterFirstPage = 0;
-
- // Set extend setting item
- CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
- if (plugin)
- {
- plugin->NewDataL();
- }
-
- LOG("CDirectPrintPropertyView::NewDataL END");
- }
-
-void CDirectPrintPropertyView::LoadPaperTabL()
- {
- TBuf<25> itemTitle;
-
- // Set common setting item
- CAknEnumeratedTextPopupSettingItem* item1 = new (ELeave) CAknEnumeratedTextPopupSettingItem(1, iPaperSize);
- CleanupStack::PushL(item1);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_PAPERSIZE);
- item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_SIZE_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item1);
- CleanupStack::Pop(item1);
-
- CAknEnumeratedTextPopupSettingItem* item2 = new (ELeave) CAknEnumeratedTextPopupSettingItem(2, iOrientation);
- CleanupStack::PushL(item2);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_ORIENTATION);
- item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_ORIENTATION_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item2);
- CleanupStack::Pop(item2);
-
- CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(3, iMediaType);
- CleanupStack::PushL(item3);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_MEDIATYPE);
- item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_MEDIATYPE_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item3);
- CleanupStack::Pop(item3);
- }
-
-void CDirectPrintPropertyView::LoadPageTabL()
- {
- TBuf<25> itemTitle;
-
- // Set common setting item
- CAknEnumeratedTextPopupSettingItem* item1 = new (ELeave) CAknEnumeratedTextPopupSettingItem(1, iPrintPage);
- CleanupStack::PushL(item1);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_PRINTPAGE);
- item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_RANGE_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item1);
- CleanupStack::Pop(item1);
-
- CAknTextSettingItem* item2 = new (ELeave) CAknTextSettingItem(2, iPrintRange);
- CleanupStack::PushL(item2);
- item2->SetEmptyItemTextL( _L("None") );
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_PRINTRANGE);
- item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_TEXT_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item2);
- CleanupStack::Pop(item2);
-
- CAknIntegerEdwinSettingItem* item3 = new (ELeave) CAknIntegerEdwinSettingItem(3, iCopy);
- CleanupStack::PushL(item3);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_COPY);
- item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item3);
- CleanupStack::Pop(item3);
- }
-
-void CDirectPrintPropertyView::LoadMarginTabL()
- {
- TBuf<25> itemTitle;
-
- // Set common setting item
- CAknIntegerEdwinSettingItem* item1 = new (ELeave) CAknIntegerEdwinSettingItem(1, iLeftMargin);
- CleanupStack::PushL(item1);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_LEFTMARGIN);
- item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item1);
- CleanupStack::Pop(item1);
-
- CAknIntegerEdwinSettingItem* item2 = new (ELeave) CAknIntegerEdwinSettingItem(2, iRightMargin);
- CleanupStack::PushL(item2);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_RIGHTMARGIN);
- item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item2);
- CleanupStack::Pop(item2);
-
- CAknIntegerEdwinSettingItem* item3 = new (ELeave) CAknIntegerEdwinSettingItem(3, iTopMargin);
- CleanupStack::PushL(item3);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_TOPMARGIN);
- item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item3);
- CleanupStack::Pop(item3);
-
- CAknIntegerEdwinSettingItem* item4 = new (ELeave) CAknIntegerEdwinSettingItem(4, iBottomMargin);
- CleanupStack::PushL(item4);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_BOTTOMMARGIN);
- item4->ConstructL(EFalse, 4, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item4);
- CleanupStack::Pop(item4);
- }
-
-void CDirectPrintPropertyView::LoadHeaderTabL()
- {
- TBuf<25> itemTitle;
-
- // Set common setting item
- CAknTextSettingItem* item1 = new (ELeave) CAknTextSettingItem(1, iHeaderText);
- CleanupStack::PushL(item1);
- item1->SetEmptyItemTextL( _L("None") );
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_HEADERTEXT);
- item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_TEXT_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item1);
- CleanupStack::Pop(item1);
-
- CAknIntegerEdwinSettingItem* item2 = new (ELeave) CAknIntegerEdwinSettingItem(2, iHeaderDistance);
- CleanupStack::PushL(item2);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_HEADERDISTANCE);
- item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item2);
- CleanupStack::Pop(item2);
-
- CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(3, iHeaderFirstPage);
- CleanupStack::PushL(item3);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_HEADERFIRSTPAGE);
- item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_PRINT_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item3);
- CleanupStack::Pop(item3);
- }
-
-void CDirectPrintPropertyView::LoadFooterTabL()
- {
- TBuf<25> itemTitle;
-
- // Set common setting item
- CAknTextSettingItem* item1 = new (ELeave) CAknTextSettingItem(1, iFooterText);
- CleanupStack::PushL(item1);
- item1->SetEmptyItemTextL( _L("None") );
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_FOOTERTEXT);
- item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_TEXT_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item1);
- CleanupStack::Pop(item1);
-
- CAknIntegerEdwinSettingItem* item2 = new (ELeave) CAknIntegerEdwinSettingItem(2, iFooterDistance);
- CleanupStack::PushL(item2);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_FOOTERDISTANCE);
- item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item2);
- CleanupStack::Pop(item2);
-
- CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(3, iFooterFirstPage);
- CleanupStack::PushL(item3);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_FOOTERFIRSTPAGE);
- item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_PRINT_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item3);
- CleanupStack::Pop(item3);
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <aknviewappui.h>
+#include <akntoolbar.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "directprintmodel.h"
+#include "directprintpropertyview.h"
+#include "DirectPrintUiPluginMgr.h"
+#include "DirectPrintUiPlugin.h"
+
+CDirectPrintPropertyView::CDirectPrintPropertyView()
+ {
+ iListBox = NULL;
+ }
+
+CDirectPrintPropertyView::~CDirectPrintPropertyView()
+ {
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ delete iListBox;
+ }
+
+CDirectPrintPropertyView* CDirectPrintPropertyView::NewL()
+ {
+ CDirectPrintPropertyView* self = CDirectPrintPropertyView::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintPropertyView* CDirectPrintPropertyView::NewLC()
+ {
+ CDirectPrintPropertyView* self = new(ELeave) CDirectPrintPropertyView();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintPropertyView::ConstructL()
+ {
+ LOG("CDirectPrintPropertyView::ConstructL BEGIN");
+ BaseConstructL(R_DIRECTPRINT_PROPERTYSETTING_VIEW);
+
+ iViewId = TUid::Uid(EDirectPrintPropertyViewId);
+ LOG("CDirectPrintPropertyView::ConstructL END");
+ }
+
+void CDirectPrintPropertyView::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyBack:
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdPropertySettingViewBack);
+ }
+ break;
+ default:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ }
+ }
+
+void CDirectPrintPropertyView::OfferToolbarEventL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EDirectPrintCmdIdPropertySettingViewPreview:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintPropertyView::ChangeTabL(TInt aTabIndex)
+ {
+ iTabIndex = aTabIndex;
+ iListBox->SettingItemArray()->ResetAndDestroy();
+ LoadListL();
+ iListBox->LoadSettingsL();
+ iListBox->DrawNow();
+ }
+
+void CDirectPrintPropertyView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ LOG("CDirectPrintPropertyView::DoActivateL BEGIN");
+ CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
+ toolbar->SetToolbarObserver(this);
+
+ ReadDataL();
+
+ // Create list box
+ if (!iListBox)
+ {
+ iListBox = CDirectPrintSettingListBox::NewL(ClientRect());
+ iListBox->SetMopParent(this);
+ iListBox->ConstructFromResourceL(R_DIRECTPRINT_PROPERTYSETTING_SETTING_ITEM_LIST);
+ iListBox->ActivateL();
+ }
+ ChangeTabL(EDirectPrintPaperSettingTab);
+ iListBox->LoadSettingsL();
+ AppUi()->AddToStackL(*this, iListBox);
+ iListBox->MakeVisible(ETrue);
+ iListBox->DrawNow();
+
+ // set the title pane
+ SetActiveTitleL(R_DIRECTPRINT_PROPERTYSETTING_TITLE);
+ LOG("CDirectPrintPropertyView::DoActivateL END");
+ }
+
+void CDirectPrintPropertyView::DoDeactivate()
+ {
+ LOG("CDirectPrintPropertyView::DoDeactivate BEGIN");
+ TInt err = 0;
+
+ if (iListBox)
+ {
+ TRAP(err, iListBox->StoreSettingsL());
+ TRAP(err, WriteDataL());
+
+ iListBox->MakeVisible(EFalse);
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ }
+ LOG("CDirectPrintPropertyView::DoDeactivate END");
+ }
+
+void CDirectPrintPropertyView::LoadListL()
+ {
+ LOG("CDirectPrintPropertyView::LoadListL BEGIN");
+
+ switch (iTabIndex)
+ {
+ case EDirectPrintPaperSettingTab:
+ {
+ LoadPaperTabL();
+ }
+ break;
+ case EDirectPrintPageSettingTab:
+ {
+ LoadPageTabL();
+ }
+ break;
+ case EDirectPrintMarginSettingTab:
+ {
+ LoadMarginTabL();
+ }
+ break;
+ case EDirectPrintHeaderSettingTab:
+ {
+ LoadHeaderTabL();
+ }
+ break;
+ case EDirectPrintFooterSettingTab:
+ {
+ LoadFooterTabL();
+ }
+ break;
+ default:
+ break;
+ }
+
+ // Set extend setting item
+ CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
+ if (plugin)
+ {
+ plugin->LoadExtendItemsL(*(iListBox->SettingItemArray()), iTabIndex);
+ }
+
+ iListBox->HandleChangeInItemArrayOrVisibilityL();
+ LOG("CDirectPrintPropertyView::LoadListL END");
+ }
+
+void CDirectPrintPropertyView::ReadDataL()
+ {
+ LOG("CDirectPrintPropertyView::ReadDataL BEGIN");
+
+ CDirectPrintModel& model = GetModel();
+ CPrinterProperty* property = model.GetCurrentPrinterPropertyL(TUid::Uid(0));
+
+ if (property)
+ {
+ TInt count = property->iPropertyItems.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ switch (property->iPropertyItems[i].iItemId)
+ {
+ case EDirectPrintPaperPaperSize:
+ {
+ iPaperSize = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPaperOrientation:
+ {
+ iOrientation = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPaperHight:
+ {
+ iHight = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPaperWidth:
+ {
+ iWidth = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPagePrintPage:
+ {
+ iPrintPage = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintPagePrintRange:
+ {
+ iPrintRange.Copy(property->iPropertyItems[i].iItemTextValue);
+ }
+ break;
+ case EDirectPrintPageCopy:
+ {
+ iCopy = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintMarginLeftMargin:
+ {
+ iLeftMargin = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintMarginRightMargin:
+ {
+ iRightMargin = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintMarginTopMargin:
+ {
+ iTopMargin = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintMarginBottomMargin:
+ {
+ iBottomMargin = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintHeaderHeaderText:
+ {
+ iHeaderText.Copy(property->iPropertyItems[i].iItemTextValue);
+ }
+ break;
+ case EDirectPrintHeaderDistance:
+ {
+ iHeaderDistance = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintHeaderFirstPage:
+ {
+ iHeaderFirstPage = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintFooterFooterText:
+ {
+ iFooterText.Copy(property->iPropertyItems[i].iItemTextValue);
+ }
+ break;
+ case EDirectPrintFooterDistance:
+ {
+ iFooterDistance = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ case EDirectPrintFooterFirstPage:
+ {
+ iFooterFirstPage = property->iPropertyItems[i].iItemValue;
+ }
+ break;
+ default:
+ {
+ // Set extend setting item
+ CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
+ if (plugin)
+ {
+ plugin->ReadDataL(property->iPropertyItems[i]);
+ }
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ model.SetCurrentProperty(model.PropertyCount());
+ NewDataL();
+ }
+
+ LOG("CDirectPrintPropertyView::ReadDataL END");
+ }
+
+void CDirectPrintPropertyView::WriteDataL()
+ {
+ LOG("CDirectPrintPropertyView::WriteDataL BEGIN");
+
+ CDirectPrintModel& model = GetModel();
+ CPrinterProperty* property = new (ELeave) CPrinterProperty();
+ CleanupStack::PushL(property);
+ property->iPrinterId = model.GetCurrentPrinterIdL();
+ property->iApplicationId = 0;
+
+ TDirectPrintPropertyData data1;
+ data1.iItemType = EDirectPrintPaperSettingTab;
+ data1.iItemId = EDirectPrintPaperPaperSize;
+ //data1.iItemName.Copy();
+ data1.iItemValue = iPaperSize;
+ property->iPropertyItems.Append(data1);
+
+ TDirectPrintPropertyData data2;
+ data2.iItemType = EDirectPrintPaperSettingTab;
+ data2.iItemId = EDirectPrintPaperOrientation;
+ //data2.iItemName.Copy();
+ data2.iItemValue = iOrientation;
+ property->iPropertyItems.Append(data2);
+
+ TDirectPrintPropertyData data3;
+ data3.iItemType = EDirectPrintPaperSettingTab;
+ data3.iItemId = EDirectPrintPaperHight;
+ //data3.iItemName.Copy();
+ data3.iItemValue = iHight;
+ property->iPropertyItems.Append(data3);
+
+ TDirectPrintPropertyData data4;
+ data4.iItemType = EDirectPrintPaperSettingTab;
+ data4.iItemId = EDirectPrintPaperWidth;
+ //data4.iItemName.Copy();
+ data4.iItemValue = iWidth;
+ property->iPropertyItems.Append(data4);
+
+ TDirectPrintPropertyData data5;
+ data5.iItemType = EDirectPrintPageSettingTab;
+ data5.iItemId = EDirectPrintPagePrintPage;
+ //data5.iItemName.Copy();
+ data5.iItemValue = iPrintPage;
+ property->iPropertyItems.Append(data5);
+
+ TDirectPrintPropertyData data6;
+ data6.iItemType = EDirectPrintPageSettingTab;
+ data6.iItemId = EDirectPrintPagePrintRange;
+ //data6.iItemName.Copy();
+ data6.iItemTextValue.Copy(iPrintRange);
+ property->iPropertyItems.Append(data6);
+
+ TDirectPrintPropertyData data7;
+ data7.iItemType = EDirectPrintPageSettingTab;
+ data7.iItemId = EDirectPrintPageCopy;
+ //data7.iItemName.Copy();
+ data7.iItemValue = iCopy;
+ property->iPropertyItems.Append(data7);
+
+ TDirectPrintPropertyData data8;
+ data8.iItemType = EDirectPrintMarginSettingTab;
+ data8.iItemId = EDirectPrintMarginLeftMargin;
+ //data8.iItemName.Copy();
+ data8.iItemValue = iLeftMargin;
+ property->iPropertyItems.Append(data8);
+
+ TDirectPrintPropertyData data9;
+ data9.iItemType = EDirectPrintMarginSettingTab;
+ data9.iItemId = EDirectPrintMarginRightMargin;
+ //data9.iItemName.Copy();
+ data9.iItemValue = iRightMargin;
+ property->iPropertyItems.Append(data9);
+
+ TDirectPrintPropertyData data10;
+ data10.iItemType = EDirectPrintMarginSettingTab;
+ data10.iItemId = EDirectPrintMarginTopMargin;
+ //data10.iItemName.Copy();
+ data10.iItemValue = iTopMargin;
+ property->iPropertyItems.Append(data10);
+
+ TDirectPrintPropertyData data11;
+ data11.iItemType = EDirectPrintMarginSettingTab;
+ data11.iItemId = EDirectPrintMarginBottomMargin;
+ //data11.iItemName.Copy();
+ data11.iItemValue = iBottomMargin;
+ property->iPropertyItems.Append(data11);
+
+ TDirectPrintPropertyData data12;
+ data12.iItemType = EDirectPrintHeaderSettingTab;
+ data12.iItemId = EDirectPrintHeaderHeaderText;
+ //data12.iItemName.Copy();
+ data12.iItemTextValue.Copy(iHeaderText);
+ property->iPropertyItems.Append(data12);
+
+ TDirectPrintPropertyData data13;
+ data13.iItemType = EDirectPrintHeaderSettingTab;
+ data13.iItemId = EDirectPrintHeaderDistance;
+ //data13.iItemName.Copy();
+ data13.iItemValue = iHeaderDistance;
+ property->iPropertyItems.Append(data13);
+
+ TDirectPrintPropertyData data14;
+ data14.iItemType = EDirectPrintHeaderSettingTab;
+ data14.iItemId = EDirectPrintHeaderFirstPage;
+ //data14.iItemName.Copy();
+ data14.iItemValue = iHeaderFirstPage;
+ property->iPropertyItems.Append(data14);
+
+ TDirectPrintPropertyData data15;
+ data15.iItemType = EDirectPrintFooterSettingTab;
+ data15.iItemId = EDirectPrintFooterFooterText;
+ //data15.iItemName.Copy();
+ data15.iItemTextValue.Copy(iFooterText);
+ property->iPropertyItems.Append(data15);
+
+ TDirectPrintPropertyData data16;
+ data16.iItemType = EDirectPrintFooterSettingTab;
+ data16.iItemId = EDirectPrintFooterDistance;
+ //data16.iItemName.Copy();
+ data16.iItemValue = iFooterDistance;
+ property->iPropertyItems.Append(data16);
+
+ TDirectPrintPropertyData data17;
+ data17.iItemType = EDirectPrintFooterSettingTab;
+ data17.iItemId = EDirectPrintFooterFirstPage;
+ //data17.iItemName.Copy();
+ data17.iItemValue = iFooterFirstPage;
+ property->iPropertyItems.Append(data17);
+
+ // Set extend setting item
+ CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
+ if (plugin)
+ {
+ plugin->WriteDataL(property->iPropertyItems);
+ }
+
+ CleanupStack::Pop(property);
+ model.SetPrinterPropertyL(property);
+
+ LOG("CDirectPrintPropertyView::WriteDataL END");
+ }
+
+void CDirectPrintPropertyView::NewDataL()
+ {
+ LOG("CDirectPrintPropertyView::NewDataL BEGIN");
+
+ iPaperSize = 0;
+ iOrientation = 0;
+ iHight = 0;
+ iWidth = 0;
+ iPrintPage = 0;
+ iPrintRange.Copy(_L(""));
+ iCopy = 1;
+ iLeftMargin = 2;
+ iRightMargin = 2;
+ iTopMargin = 2;
+ iBottomMargin = 2;
+ iHeaderText.Copy(_L(""));
+ iHeaderDistance = 0;
+ iHeaderFirstPage = 0;
+ iFooterText.Copy(_L(""));
+ iFooterDistance = 0;
+ iFooterFirstPage = 0;
+
+ // Set extend setting item
+ CDirectPrintUiPlugin* plugin = GetPluginMgr().CurrentPluginL();
+ if (plugin)
+ {
+ plugin->NewDataL();
+ }
+
+ LOG("CDirectPrintPropertyView::NewDataL END");
+ }
+
+void CDirectPrintPropertyView::LoadPaperTabL()
+ {
+ TBuf<25> itemTitle;
+
+ // Set common setting item
+ CAknEnumeratedTextPopupSettingItem* item1 = new (ELeave) CAknEnumeratedTextPopupSettingItem(1, iPaperSize);
+ CleanupStack::PushL(item1);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_PAPERSIZE);
+ item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_SIZE_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item1);
+ CleanupStack::Pop(item1);
+
+ CAknEnumeratedTextPopupSettingItem* item2 = new (ELeave) CAknEnumeratedTextPopupSettingItem(2, iOrientation);
+ CleanupStack::PushL(item2);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_ORIENTATION);
+ item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_ORIENTATION_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item2);
+ CleanupStack::Pop(item2);
+
+ CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(3, iMediaType);
+ CleanupStack::PushL(item3);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_MEDIATYPE);
+ item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_MEDIATYPE_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item3);
+ CleanupStack::Pop(item3);
+ }
+
+void CDirectPrintPropertyView::LoadPageTabL()
+ {
+ TBuf<25> itemTitle;
+
+ // Set common setting item
+ CAknEnumeratedTextPopupSettingItem* item1 = new (ELeave) CAknEnumeratedTextPopupSettingItem(1, iPrintPage);
+ CleanupStack::PushL(item1);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_PRINTPAGE);
+ item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_RANGE_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item1);
+ CleanupStack::Pop(item1);
+
+ CAknTextSettingItem* item2 = new (ELeave) CAknTextSettingItem(2, iPrintRange);
+ CleanupStack::PushL(item2);
+ item2->SetEmptyItemTextL( _L("None") );
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_PRINTRANGE);
+ item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_TEXT_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item2);
+ CleanupStack::Pop(item2);
+
+ CAknIntegerEdwinSettingItem* item3 = new (ELeave) CAknIntegerEdwinSettingItem(3, iCopy);
+ CleanupStack::PushL(item3);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_COPY);
+ item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item3);
+ CleanupStack::Pop(item3);
+ }
+
+void CDirectPrintPropertyView::LoadMarginTabL()
+ {
+ TBuf<25> itemTitle;
+
+ // Set common setting item
+ CAknIntegerEdwinSettingItem* item1 = new (ELeave) CAknIntegerEdwinSettingItem(1, iLeftMargin);
+ CleanupStack::PushL(item1);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_LEFTMARGIN);
+ item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item1);
+ CleanupStack::Pop(item1);
+
+ CAknIntegerEdwinSettingItem* item2 = new (ELeave) CAknIntegerEdwinSettingItem(2, iRightMargin);
+ CleanupStack::PushL(item2);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_RIGHTMARGIN);
+ item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item2);
+ CleanupStack::Pop(item2);
+
+ CAknIntegerEdwinSettingItem* item3 = new (ELeave) CAknIntegerEdwinSettingItem(3, iTopMargin);
+ CleanupStack::PushL(item3);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_TOPMARGIN);
+ item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item3);
+ CleanupStack::Pop(item3);
+
+ CAknIntegerEdwinSettingItem* item4 = new (ELeave) CAknIntegerEdwinSettingItem(4, iBottomMargin);
+ CleanupStack::PushL(item4);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_BOTTOMMARGIN);
+ item4->ConstructL(EFalse, 4, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item4);
+ CleanupStack::Pop(item4);
+ }
+
+void CDirectPrintPropertyView::LoadHeaderTabL()
+ {
+ TBuf<25> itemTitle;
+
+ // Set common setting item
+ CAknTextSettingItem* item1 = new (ELeave) CAknTextSettingItem(1, iHeaderText);
+ CleanupStack::PushL(item1);
+ item1->SetEmptyItemTextL( _L("None") );
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_HEADERTEXT);
+ item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_TEXT_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item1);
+ CleanupStack::Pop(item1);
+
+ CAknIntegerEdwinSettingItem* item2 = new (ELeave) CAknIntegerEdwinSettingItem(2, iHeaderDistance);
+ CleanupStack::PushL(item2);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_HEADERDISTANCE);
+ item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item2);
+ CleanupStack::Pop(item2);
+
+ CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(3, iHeaderFirstPage);
+ CleanupStack::PushL(item3);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_HEADERFIRSTPAGE);
+ item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_PRINT_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item3);
+ CleanupStack::Pop(item3);
+ }
+
+void CDirectPrintPropertyView::LoadFooterTabL()
+ {
+ TBuf<25> itemTitle;
+
+ // Set common setting item
+ CAknTextSettingItem* item1 = new (ELeave) CAknTextSettingItem(1, iFooterText);
+ CleanupStack::PushL(item1);
+ item1->SetEmptyItemTextL( _L("None") );
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_FOOTERTEXT);
+ item1->ConstructL(EFalse, 1, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_TEXT_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item1);
+ CleanupStack::Pop(item1);
+
+ CAknIntegerEdwinSettingItem* item2 = new (ELeave) CAknIntegerEdwinSettingItem(2, iFooterDistance);
+ CleanupStack::PushL(item2);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_FOOTERDISTANCE);
+ item2->ConstructL(EFalse, 2, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_INTEGER_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item2);
+ CleanupStack::Pop(item2);
+
+ CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(3, iFooterFirstPage);
+ CleanupStack::PushL(item3);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PROPERTYSETTING_ITEM_FOOTERFIRSTPAGE);
+ item3->ConstructL(EFalse, 3, itemTitle, NULL, R_DIRECTPRINT_PROPERTYSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PROPERTYSETTING_PRINT_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item3);
+ CleanupStack::Pop(item3);
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/src/directprintsearchresultview.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintsearchresultview.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,255 +1,255 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <aknviewappui.h>
-#include <akntoolbar.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-#include <stringloader.h> // StringLoader
-
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "directprintsearchresultview.h"
-
-CDirectPrintSearchResultView::CDirectPrintSearchResultView()
- {
- iListBox = NULL;
- }
-
-CDirectPrintSearchResultView::~CDirectPrintSearchResultView()
- {
- AppUi()->RemoveFromViewStack(*this, iListBox);
-
- if (iPeriodic)
- {
- iPeriodic->Cancel();
- delete iPeriodic;
- iPeriodic = NULL;
- }
-
- if (iProgressDialog)
- {
- TRAP_IGNORE(iProgressDialog->ProcessFinishedL());
- delete iProgressDialog;
- iProgressDialog = NULL;
- }
- if (iProgressMessage)
- {
- delete iProgressMessage;
- iProgressMessage = NULL;
- }
-
- delete iListBox;
- delete iItemArray;
- }
-
-CDirectPrintSearchResultView* CDirectPrintSearchResultView::NewL()
- {
- CDirectPrintSearchResultView* self = CDirectPrintSearchResultView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintSearchResultView* CDirectPrintSearchResultView::NewLC()
- {
- CDirectPrintSearchResultView* self = new(ELeave) CDirectPrintSearchResultView();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintSearchResultView::ConstructL()
- {
- LOG("CDirectPrintSearchResultView::ConstructL BEGIN");
- BaseConstructL(R_DIRECTPRINT_SEARCHRESULT_VIEW);
-
- iViewId = TUid::Uid(EDirectPrintSearchResultViewId);
-
- iItemArray = new(ELeave) CDesCArrayFlat(3);
- LOG("CDirectPrintSearchResultView::ConstructL END");
- }
-
-void CDirectPrintSearchResultView::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EAknSoftkeyCancel:
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdSearchResultViewCancel);
- }
- break;
- case EDirectPrintCmdIdSearchResultViewSearch:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- }
- }
-
-void CDirectPrintSearchResultView::HandleListIndexL(TInt /*aIndex*/)
- {
- AppUi()->HandleCommandL(EDirectPrintCmdIdSearchResultViewSelect);
- }
-
-void CDirectPrintSearchResultView::OfferToolbarEventL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EDirectPrintCmdIdPrinterListViewEdit:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- default:
- break;
- }
- }
-
-void CDirectPrintSearchResultView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- LOG("CDirectPrintSearchResultView::DoActivateL BEGIN");
- CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
- toolbar->SetToolbarObserver(this);
-
- // Create list box
- if (!iListBox)
- {
- iListBox = CDirectPrintListBox::NewL(ClientRect(), iItemArray);
- iListBox->SetMopParent(this);
- iListBox->SetListObserver(this);
- }
- AppUi()->AddToStackL(*this, iListBox);
- iListBox->MakeVisible(ETrue);
-
- // set the title pane
- SetActiveTitleL(R_DIRECTPRINT_PRINTERSEARCH_TITLE);
-
- StartSearchL();
- LOG("CDirectPrintSearchResultView::DoActivateL END");
- }
-
-void CDirectPrintSearchResultView::DoDeactivate()
- {
- LOG("CDirectPrintSearchResultView::DoDeactivate BEGIN");
- iListBox->MakeVisible(EFalse);
- AppUi()->RemoveFromViewStack(*this, iListBox);
- LOG("CDirectPrintSearchResultView::DoDeactivate END");
- }
-
-void CDirectPrintSearchResultView::StartSearchProgressNoteL()
- {
- // Delete possible previous CAknProgressDialog.
- if (iProgressDialog)
- {
- delete iProgressDialog;
- iProgressDialog = NULL;
- }
-
- if (!iProgressMessage)
- {
- // read progress message
- iProgressMessage = StringLoader::LoadL( R_DIRECTPRINT_MSG_SEARCHING_PROGRESS );
- }
-
- // Create new CAknProgressDialog.
- iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast
- <CEikDialog**>
- ( &iProgressDialog ) );
- iProgressDialog->SetCallback( this );
- iProgressDialog->PrepareLC( R_DIRECTPRINT_SEARCH_PROGRESS_NOTE );
- //iProgressInfo = iProgressDialog->GetProgressInfoL();
- //iProgressInfo->SetFinalValue( 1 );
-
- iProgressDialog->SetTextL(*iProgressMessage);
- iProgressDialog->RunLD();
- }
-
-void CDirectPrintSearchResultView::EndProgressNoteL()
- {
- if (iProgressDialog)
- {
- iProgressDialog->ProcessFinishedL();
- if (iProgressDialog)
- {
- delete iProgressDialog;
- iProgressDialog = NULL;
- }
- }
- }
-
-void CDirectPrintSearchResultView::StartSearchL()
- {
- const TInt KSearchTimeoutTime(10000000); // 10 sec
-
- if (iPeriodic)
- {
- iPeriodic->Cancel();
- }
- else
- {
- iPeriodic = CPeriodic::NewL(CActive::EPriorityIdle);
- }
- iPeriodic->Start(KSearchTimeoutTime, KSearchTimeoutTime, TCallBack(HandleTimeout, this));
- StartSearchProgressNoteL();
- }
-
-TInt CDirectPrintSearchResultView::HandleTimeout(TAny* aAny)
- {
- // Setting size button back to up state
-
- CDirectPrintSearchResultView* self = static_cast<CDirectPrintSearchResultView*>( aAny );
- // Cancel timer
- TRAPD( err, self->HandleTimeoutL());
- return err;
- }
-
-void CDirectPrintSearchResultView::HandleTimeoutL()
- {
- iTimeoutCount++;
- if (iTimeoutCount == 1)
- {
- // for test
- TBuf<50> buf;
- buf.Copy(_L("\tCanon MP640_000XXX\t"));
- iItemArray->AppendL(buf);
- iListBox->DrawNow();
- }
- else if (iTimeoutCount > 1)
- {
- EndProgressNoteL();
- if (iPeriodic)
- {
- iPeriodic->Cancel();
- delete iPeriodic;
- iPeriodic = NULL;
- }
- iTimeoutCount = 0;
- }
- }
-
-void CDirectPrintSearchResultView::DialogDismissedL( TInt aButtonId )
- {
- //TInt button = aButtonId;
- }
-
-
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <aknviewappui.h>
+#include <akntoolbar.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+#include <stringloader.h> // StringLoader
+
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "directprintsearchresultview.h"
+
+CDirectPrintSearchResultView::CDirectPrintSearchResultView()
+ {
+ iListBox = NULL;
+ }
+
+CDirectPrintSearchResultView::~CDirectPrintSearchResultView()
+ {
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+
+ if (iPeriodic)
+ {
+ iPeriodic->Cancel();
+ delete iPeriodic;
+ iPeriodic = NULL;
+ }
+
+ if (iProgressDialog)
+ {
+ TRAP_IGNORE(iProgressDialog->ProcessFinishedL());
+ delete iProgressDialog;
+ iProgressDialog = NULL;
+ }
+ if (iProgressMessage)
+ {
+ delete iProgressMessage;
+ iProgressMessage = NULL;
+ }
+
+ delete iListBox;
+ delete iItemArray;
+ }
+
+CDirectPrintSearchResultView* CDirectPrintSearchResultView::NewL()
+ {
+ CDirectPrintSearchResultView* self = CDirectPrintSearchResultView::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintSearchResultView* CDirectPrintSearchResultView::NewLC()
+ {
+ CDirectPrintSearchResultView* self = new(ELeave) CDirectPrintSearchResultView();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintSearchResultView::ConstructL()
+ {
+ LOG("CDirectPrintSearchResultView::ConstructL BEGIN");
+ BaseConstructL(R_DIRECTPRINT_SEARCHRESULT_VIEW);
+
+ iViewId = TUid::Uid(EDirectPrintSearchResultViewId);
+
+ iItemArray = new(ELeave) CDesCArrayFlat(3);
+ LOG("CDirectPrintSearchResultView::ConstructL END");
+ }
+
+void CDirectPrintSearchResultView::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyCancel:
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdSearchResultViewCancel);
+ }
+ break;
+ case EDirectPrintCmdIdSearchResultViewSearch:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ }
+ }
+
+void CDirectPrintSearchResultView::HandleListIndexL(TInt /*aIndex*/)
+ {
+ AppUi()->HandleCommandL(EDirectPrintCmdIdSearchResultViewSelect);
+ }
+
+void CDirectPrintSearchResultView::OfferToolbarEventL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EDirectPrintCmdIdPrinterListViewEdit:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+void CDirectPrintSearchResultView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ LOG("CDirectPrintSearchResultView::DoActivateL BEGIN");
+ CAknToolbar* toolbar = AppUi()->CurrentFixedToolbar();
+ toolbar->SetToolbarObserver(this);
+
+ // Create list box
+ if (!iListBox)
+ {
+ iListBox = CDirectPrintListBox::NewL(ClientRect(), iItemArray);
+ iListBox->SetMopParent(this);
+ iListBox->SetListObserver(this);
+ }
+ AppUi()->AddToStackL(*this, iListBox);
+ iListBox->MakeVisible(ETrue);
+
+ // set the title pane
+ SetActiveTitleL(R_DIRECTPRINT_PRINTERSEARCH_TITLE);
+
+ StartSearchL();
+ LOG("CDirectPrintSearchResultView::DoActivateL END");
+ }
+
+void CDirectPrintSearchResultView::DoDeactivate()
+ {
+ LOG("CDirectPrintSearchResultView::DoDeactivate BEGIN");
+ iListBox->MakeVisible(EFalse);
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ LOG("CDirectPrintSearchResultView::DoDeactivate END");
+ }
+
+void CDirectPrintSearchResultView::StartSearchProgressNoteL()
+ {
+ // Delete possible previous CAknProgressDialog.
+ if (iProgressDialog)
+ {
+ delete iProgressDialog;
+ iProgressDialog = NULL;
+ }
+
+ if (!iProgressMessage)
+ {
+ // read progress message
+ iProgressMessage = StringLoader::LoadL( R_DIRECTPRINT_MSG_SEARCHING_PROGRESS );
+ }
+
+ // Create new CAknProgressDialog.
+ iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast
+ <CEikDialog**>
+ ( &iProgressDialog ) );
+ iProgressDialog->SetCallback( this );
+ iProgressDialog->PrepareLC( R_DIRECTPRINT_SEARCH_PROGRESS_NOTE );
+ //iProgressInfo = iProgressDialog->GetProgressInfoL();
+ //iProgressInfo->SetFinalValue( 1 );
+
+ iProgressDialog->SetTextL(*iProgressMessage);
+ iProgressDialog->RunLD();
+ }
+
+void CDirectPrintSearchResultView::EndProgressNoteL()
+ {
+ if (iProgressDialog)
+ {
+ iProgressDialog->ProcessFinishedL();
+ if (iProgressDialog)
+ {
+ delete iProgressDialog;
+ iProgressDialog = NULL;
+ }
+ }
+ }
+
+void CDirectPrintSearchResultView::StartSearchL()
+ {
+ const TInt KSearchTimeoutTime(10000000); // 10 sec
+
+ if (iPeriodic)
+ {
+ iPeriodic->Cancel();
+ }
+ else
+ {
+ iPeriodic = CPeriodic::NewL(CActive::EPriorityIdle);
+ }
+ iPeriodic->Start(KSearchTimeoutTime, KSearchTimeoutTime, TCallBack(HandleTimeout, this));
+ StartSearchProgressNoteL();
+ }
+
+TInt CDirectPrintSearchResultView::HandleTimeout(TAny* aAny)
+ {
+ // Setting size button back to up state
+
+ CDirectPrintSearchResultView* self = static_cast<CDirectPrintSearchResultView*>( aAny );
+ // Cancel timer
+ TRAPD( err, self->HandleTimeoutL());
+ return err;
+ }
+
+void CDirectPrintSearchResultView::HandleTimeoutL()
+ {
+ iTimeoutCount++;
+ if (iTimeoutCount == 1)
+ {
+ // for test
+ TBuf<50> buf;
+ buf.Copy(_L("\tCanon MP640_000XXX\t"));
+ iItemArray->AppendL(buf);
+ iListBox->DrawNow();
+ }
+ else if (iTimeoutCount > 1)
+ {
+ EndProgressNoteL();
+ if (iPeriodic)
+ {
+ iPeriodic->Cancel();
+ delete iPeriodic;
+ iPeriodic = NULL;
+ }
+ iTimeoutCount = 0;
+ }
+ }
+
+void CDirectPrintSearchResultView::DialogDismissedL( TInt aButtonId )
+ {
+ //TInt button = aButtonId;
+ }
+
+
+// End of file
--- a/DirectPrint/DirectPrintApp/ui/src/directprintsettinglistbox.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintsettinglistbox.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,70 +1,70 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "directprintsettinglistbox.h"
-
-CDirectPrintSettingListBox::CDirectPrintSettingListBox()
- {
- }
-
-CDirectPrintSettingListBox::~CDirectPrintSettingListBox()
- {
- }
-
-CDirectPrintSettingListBox* CDirectPrintSettingListBox::NewL(const TRect& aRect)
- {
- CDirectPrintSettingListBox* self = CDirectPrintSettingListBox::NewLC(aRect);
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintSettingListBox* CDirectPrintSettingListBox::NewLC(const TRect& aRect)
- {
- CDirectPrintSettingListBox* self = new(ELeave) CDirectPrintSettingListBox();
- CleanupStack::PushL(self);
- self->ConstructL(aRect);
- return self;
- }
-
-void CDirectPrintSettingListBox::ConstructL(const TRect& aRect)
- {
- CreateWindowL();
- SetRect(aRect);
- }
-
-void CDirectPrintSettingListBox::EditItemL(TInt aIndex, TBool aCalledFromMenu)
- {
- TBuf<25> beforeText, afterText;
- beforeText.Copy((*SettingItemArray())[aIndex]->SettingTextL());
-
- CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
-
- if (iObserver)
- {
- afterText.Copy((*SettingItemArray())[aIndex]->SettingTextL());
- TBool changed = (beforeText.Compare(afterText) != 0);
- iObserver->HandleEditItemL(aIndex, changed);
- }
- }
-
-void CDirectPrintSettingListBox::SetSettingListObserver(MDirectPrintSettingListObserver* aObserver)
- {
- iObserver = aObserver;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "directprintsettinglistbox.h"
+
+CDirectPrintSettingListBox::CDirectPrintSettingListBox()
+ {
+ }
+
+CDirectPrintSettingListBox::~CDirectPrintSettingListBox()
+ {
+ }
+
+CDirectPrintSettingListBox* CDirectPrintSettingListBox::NewL(const TRect& aRect)
+ {
+ CDirectPrintSettingListBox* self = CDirectPrintSettingListBox::NewLC(aRect);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintSettingListBox* CDirectPrintSettingListBox::NewLC(const TRect& aRect)
+ {
+ CDirectPrintSettingListBox* self = new(ELeave) CDirectPrintSettingListBox();
+ CleanupStack::PushL(self);
+ self->ConstructL(aRect);
+ return self;
+ }
+
+void CDirectPrintSettingListBox::ConstructL(const TRect& aRect)
+ {
+ CreateWindowL();
+ SetRect(aRect);
+ }
+
+void CDirectPrintSettingListBox::EditItemL(TInt aIndex, TBool aCalledFromMenu)
+ {
+ TBuf<25> beforeText, afterText;
+ beforeText.Copy((*SettingItemArray())[aIndex]->SettingTextL());
+
+ CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
+
+ if (iObserver)
+ {
+ afterText.Copy((*SettingItemArray())[aIndex]->SettingTextL());
+ TBool changed = (beforeText.Compare(afterText) != 0);
+ iObserver->HandleEditItemL(aIndex, changed);
+ }
+ }
+
+void CDirectPrintSettingListBox::SetSettingListObserver(MDirectPrintSettingListObserver* aObserver)
+ {
+ iObserver = aObserver;
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/src/directprintsettingview.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintsettingview.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,669 +1,669 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// System include files
-#include <aknviewappui.h>
-#include <akntoolbar.h>
-#include <barsread.h>
-#include <DirectPrintApp.rsg>
-#include <AknSettingItemList.h>
-#include <eiklbx.h>
-#include <bautils.h>
-#include <driveinfo.h>
-#include <pathinfo.h>
-
-// User include files
-#include "clog.h"
-#include "directprintapp.hrh"
-#include "DirectPrintAppAppUi.h"
-#include "DirectPrintEngine.h"
-#include "DirectPrintModel.h"
-#include "directprintsettingview.h"
-#include "DirectPrintBearerMgr.h"
-
-#include "directprintbasecapability.h"
-#include "directprintlistcapability.h"
-#include "directprinttextcapability.h"
-#include "directprintprintsettings.h"
-#include "imageprint.h"
-#include "directprintcapabilitycodes.h"
-
-CDirectPrintPrinterSettingView::CDirectPrintPrinterSettingView()
- {
- iListBox = NULL;
- }
-
-CDirectPrintPrinterSettingView::~CDirectPrintPrinterSettingView()
- {
- AppUi()->RemoveFromViewStack(*this, iListBox);
- delete iListBox;
- }
-
-CDirectPrintPrinterSettingView* CDirectPrintPrinterSettingView::NewL()
- {
- CDirectPrintPrinterSettingView* self = CDirectPrintPrinterSettingView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintPrinterSettingView* CDirectPrintPrinterSettingView::NewLC()
- {
- CDirectPrintPrinterSettingView* self = new(ELeave) CDirectPrintPrinterSettingView();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CDirectPrintPrinterSettingView::ConstructL()
- {
- LOG("CDirectPrintPrinterSettingView::ConstructL BEGIN");
- BaseConstructL(R_DIRECTPRINT_PRINTERSETTING_VIEW);
-
- iViewId = TUid::Uid(EDirectPrintPrinterSettingViewId);
- LOG("CDirectPrintPrinterSettingView::ConstructL END");
- }
-
-void CDirectPrintPrinterSettingView::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EAknSoftkeyBack:
- {
- iListBox->StoreSettingsL();
- StoreDriverInfoL();
- StoreTypeInfoL();
- StoreBearerInfoL();
- StoreExtendSettingsL();
- WriteDataL(); // write to model
- GetBearerMgr()->SetJobSettings(); // write to bearer
- GetModel().SetIsNewData(EFalse);
-
- AppUi()->HandleCommandL(EDirectPrintCmdIdPrinterSettingViewBack);
- }
- break;
- default:
- {
- AppUi()->HandleCommandL(aCommand);
- }
- break;
- }
- }
-
-void CDirectPrintPrinterSettingView::HandleEditItemL(TInt aIndex, TBool aChanged)
- {
- if (aChanged)
- {
- TBuf<25> titleBearer;
- CEikonEnv::Static()->ReadResource(titleBearer, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
-
- TPtrC name = (*(iListBox->SettingItemArray()))[aIndex]->SettingName();
- if (name.Compare(titleBearer) == 0)
- {
- ReloadListL();
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- LOG("CDirectPrintPrinterSettingView::DoActivateL BEGIN");
-
- if (GetModel().IsNewData())
- {
- NewDataL();
- }
- else
- {
- ReadDataL();
- }
-
- if (!iListBox)
- {
- // Create list box
- iListBox = CDirectPrintSettingListBox::NewL(ClientRect());
- iListBox->SetMopParent(this);
- iListBox->SetSettingListObserver(this);
- iListBox->ConstructFromResourceL(R_DIRECTPRINT_PRINTERSETTING_ITEM_LIST);
- iListBox->ActivateL();
- }
- else
- {
- iListBox->SettingItemArray()->ResetAndDestroy();
- }
-
- LoadListL();
- LoadDriverInfoL();
- LoadTypeInfoL();
- LoadBearerInfoL();
- LoadExtendListL();
- iListBox->LoadSettingsL();
- AppUi()->AddToStackL(*this, iListBox);
- iListBox->MakeVisible(ETrue);
- iListBox->DrawNow();
-
- // set the title pane
- SetActiveTitleL(R_DIRECTPRINT_PRINTERSETTING_TITLE);
- LOG("CDirectPrintPrinterSettingView::DoActivateL END");
- }
-
-void CDirectPrintPrinterSettingView::DoDeactivate()
- {
- LOG("CDirectPrintPrinterSettingView::DoDeactivate BEGIN");
- iListBox->MakeVisible(EFalse);
- AppUi()->RemoveFromViewStack(*this, iListBox);
- LOG("CDirectPrintPrinterSettingView::DoDeactivate END");
- }
-
-void CDirectPrintPrinterSettingView::LoadListL()
- {
- LOG("CDirectPrintPrinterSettingView::LoadListL BEGIN");
-
- TBuf<25> itemTitle;
-
- // Common setting item
- CAknTextSettingItem* item1 = new (ELeave) CAknTextSettingItem(ESettingViewItemPrinterName, iPrinterName);
- CleanupStack::PushL(item1);
- item1->SetEmptyItemTextL( _L("None") );
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_PRINTERNAME);
- item1->ConstructL(EFalse, ESettingViewItemPrinterName, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_TEXT_SETTING_PAGE, -1);
- iListBox->SettingItemArray()->AppendL(item1);
- CleanupStack::Pop(item1);
-
- LOG("CDirectPrintPrinterSettingView::LoadListL 1");
-
- iDriver = 0;
- CAknEnumeratedTextPopupSettingItem* item2 = new (ELeave) CAknEnumeratedTextPopupSettingItem(ESettingViewItemDriver, iDriver);
- CleanupStack::PushL(item2);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_DRIVER);
- item2->ConstructL(EFalse, ESettingViewItemDriver, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_TEXTS);
-
- LOG("CDirectPrintPrinterSettingView::LoadListL 2");
- // set printer driver
- {
- const TInt KSettingItemArrayGranularity = 5;
- // Construct the array
- CArrayPtr<CAknEnumeratedText>* enumeratedTextArray;
- enumeratedTextArray = new( ELeave ) CArrayPtrFlat<CAknEnumeratedText>( KSettingItemArrayGranularity );
- CleanupStack::PushL( enumeratedTextArray );
-
- // Construct a dummy array for popup text, needed to avoid a panic
- CArrayPtr<HBufC>* popupTextArray;
- popupTextArray = new( ELeave ) CArrayPtrFlat<HBufC>( KSettingItemArrayGranularity );
- CleanupStack::PushL( popupTextArray );
-
- CDirectPrintAppAppUi* appui = static_cast<CDirectPrintAppAppUi*>( AppUi() );
- CDirectPrintEngine* engine = appui->Engine();
-
- // Read in the texts to be used in the setting item list
- TInt index;
- // Loop through all the texts
-
- LOG1("ModelCount=[%d]", engine->ModelCount());
-
- for (index=0; index < engine->ModelCount(); index++)
- {
- HBufC* thisText = HBufC::NewLC(KMaxPrinterModelNameLength);
- TPtr thisTextDes = thisText->Des();
- engine->ModelName(index, thisTextDes);
- CAknEnumeratedText* enumeratedText = new( ELeave ) CAknEnumeratedText( index, thisText );
- CleanupStack::Pop( thisText );
- CleanupStack::PushL( enumeratedText );
- enumeratedTextArray->AppendL( enumeratedText );
- CleanupStack::Pop( enumeratedText );
- }
- if (engine->ModelCount() > 0)
- {
- item2->SetEnumeratedTextArrays( enumeratedTextArray, popupTextArray );
- }
- CleanupStack::Pop( popupTextArray );
- CleanupStack::Pop( enumeratedTextArray );
- }
- LOG("CDirectPrintPrinterSettingView::LoadListL 2-2");
-
- iListBox->SettingItemArray()->AppendL(item2);
- CleanupStack::Pop(item2);
-
- LOG("CDirectPrintPrinterSettingView::LoadListL 3");
- iType = 0;
- CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(ESettingViewItemType, iType);
- CleanupStack::PushL(item3);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_TYPE);
- item3->ConstructL(EFalse, ESettingViewItemType, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_TYPE_POPUP_SETTING_TEXTS);
- iListBox->SettingItemArray()->AppendL(item3);
- CleanupStack::Pop(item3);
-
- iBearer = 0;
- LOG("CDirectPrintPrinterSettingView::LoadListL 4");
- CAknEnumeratedTextPopupSettingItem* item4 = new (ELeave) CAknEnumeratedTextPopupSettingItem(ESettingViewItemBearer, iBearer);
- CleanupStack::PushL(item4);
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
- item4->ConstructL(EFalse, ESettingViewItemBearer, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_BEARER_POPUP_SETTING_TEXTS);
-
- SetBearerListL(item4);
-
- iListBox->SettingItemArray()->AppendL(item4);
- CleanupStack::Pop(item4);
-
- LOG("CDirectPrintPrinterSettingView::LoadListL xxx");
-
- iListBox->ListBox()->SetCurrentItemIndex(0);
- LOG("CDirectPrintPrinterSettingView::LoadListL xx");
- iListBox->HandleChangeInItemArrayOrVisibilityL();
- LOG("CDirectPrintPrinterSettingView::LoadListL END");
- }
-
-void CDirectPrintPrinterSettingView::LoadExtendListL()
- {
- // Initialize capabilities for bearer
- GetBearerMgr()->InitCapabilitiesL(iBearer);
-
- // Extend setting item
- CDirectPrintPrintSettings* printSettings = GetBearerMgr()->PrinterSettingsL();
- TInt count = printSettings->iCapabilities.Count();
- for (TInt i=0; i<count; i++)
- {
- CAknSettingItem* item = printSettings->iCapabilities[i]->SettingItemLC(ESettingViewItemExtent+i);
- iListBox->SettingItemArray()->AppendL(item);
- CleanupStack::Pop(item);
- }
-
- LoadExtendSettingsL();
-
- iListBox->HandleChangeInItemArrayOrVisibilityL();
- }
-
-void CDirectPrintPrinterSettingView::ReloadListL()
- {
- iListBox->StoreSettingsL();
- StoreDriverInfoL();
- StoreTypeInfoL();
- StoreBearerInfoL();
- StoreExtendSettingsL();
-
- iListBox->SettingItemArray()->ResetAndDestroy();
- LoadListL();
- LoadDriverInfoL();
- LoadTypeInfoL();
- LoadBearerInfoL();
-
- LoadExtendListL();
-
- iListBox->LoadSettingsL();
- iListBox->DrawNow();
- }
-
-void CDirectPrintPrinterSettingView::SetBearerListL(CAknEnumeratedTextPopupSettingItem* item)
- {
- TInt err = GetBearerMgr()->GetProtocolNames(iBearerList);
- if (!err)
- {
- CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
- textArray->ResetAndDestroy();
-
- TInt count = iBearerList.Count();
- for (TInt i=0; i<count; i++)
- {
- CAknEnumeratedText* enumText = new (ELeave) CAknEnumeratedText(i, iBearerList[i].iName.AllocLC());
- CleanupStack::Pop();
- CleanupStack::PushL(enumText);
- textArray->AppendL(enumText);
- CleanupStack::Pop();
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::ReadDataL()
- {
- LOG("CDirectPrintPrinterSettingView::ReadDataL BEGIN");
- CDirectPrintModel& model = GetModel();
- TDirectPrintPrinterData printerData;
- TInt index = model.SelectPrinter();
- if (index >= 0)
- {
- model.GetPrinterDataL(index, printerData);
- }
- else
- {
- model.SetCurrentPrinter(0);
- }
-
- TDirectPrintBearerData bearerData;
- index = model.CurrentBearer();
- if (index >= 0)
- {
- //model.GetBearerDataL(index, bearerData);
- model.GetSelectedBearerDataL(bearerData);
- }
- else
- {
- model.SetCurrentBearer(0);
- }
-
- iPrinterId = printerData.iPrinterId;
- iPrinterName.Copy(printerData.iPrinterName);
- iDriverName.Copy(printerData.iDriverName);
- iTypeName.Copy(printerData.iTypeName);
- //iDriver = 1;
- //iBearer = 1;
- //iAccessPoint = 0;
- iAccessPointName.Copy(bearerData.iAccessPoint);
- iBearerName.Copy(bearerData.iBearerName);
- iPort = bearerData.iPort;
- if (bearerData.iHostName.Length() > 0)
- {
- iHost.Copy(bearerData.iHostName);
- }
- iUserName.Copy(bearerData.iUserName);
- iQue.Copy(bearerData.iQueName);
-
- LOG("CDirectPrintPrinterSettingView::ReadDataL END");
- }
-
-void CDirectPrintPrinterSettingView::WriteDataL()
- {
- LOG("CDirectPrintPrinterSettingView::WriteDataL BEGIN");
- TDirectPrintPrinterData printerData;
- printerData.iPrinterId = iPrinterId;
- printerData.iPrinterName.Copy(iPrinterName);
-// printerData.iPrinterDriver = iDriverUid;
- printerData.iDriverName.Copy(iDriverName);
-// printerData.iPrinterType = iType;
- printerData.iTypeName.Copy(iTypeName);
-
- TDirectPrintBearerData bearerData;
- bearerData.iPrinterId = iPrinterId;
- bearerData.iBearerName.Copy(iBearerName);
- bearerData.iAccessPoint.Copy(iAccessPointName);
- bearerData.iHostName.Copy(iHost);
- bearerData.iPort = iPort;
- bearerData.iUserName.Copy(iUserName);
- bearerData.iQueName.Copy(iQue);
-
- CDirectPrintModel& model = GetModel();
- if (model.IsNewData())
- {
- if (model.PrinterCount() == 0)
- {
- model.SetCurrentPrinter(0);
- model.SetCurrentBearer(0);
- }
- model.SetPrinterDataL(model.PrinterCount(), printerData);
- model.SetBearerDataL(model.BearerCount(), bearerData);
- }
- else
- {
- model.SetPrinterDataL(model.SelectPrinter(), printerData);
- //model.SetBearerDataL(model.CurrentBearer(), bearerData);
- model.SetBearerDataL(bearerData);
- }
- LOG("CDirectPrintPrinterSettingView::WriteDataL END");
- }
-
-void CDirectPrintPrinterSettingView::NewDataL()
- {
- CDirectPrintModel& model = GetModel();
- TInt count = model.PrinterCount();
-
- TBuf<50> buf;
- TBool IsNewName = EFalse;
- for (TInt i=1; !IsNewName; i++)
- {
- buf.Format(_L("Printer%d"), count+i);
- IsNewName = ETrue;
-
- for (TInt j=0; j<count; j++)
- {
- TDirectPrintPrinterData printerData;
- model.GetPrinterDataL(j, printerData);
- if (printerData.iPrinterName.Compare(buf) == 0)
- {
- IsNewName = EFalse;
- break;
- }
- }
- }
-
- iPrinterId = model.NewPrinterId();
- iPrinterName.Copy(buf);
- iDriver = 0;
- iBearer = 0;
- iAccessPoint = 0;
-// iAccessPointName.Copy(_L("WLAN_ap1"));
-// iHostIp.SetAddress(3232235530);
- iPort = 80;
- iUserName.Copy(_L(""));
- iQue.Copy(_L(""));
- }
-
-void CDirectPrintPrinterSettingView::LoadDriverInfoL()
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_DRIVER);
- CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
- CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
- TInt count = textArray->Count();
-
- for (TInt i=0; i<count; i++)
- {
- if (iDriverName.Compare((*textArray)[i]->Value()->Des()) == 0)
- {
- iDriver = i;
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::LoadTypeInfoL()
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_TYPE);
- CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
- CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
- TInt count = textArray->Count();
-
- for (TInt i=0; i<count; i++)
- {
- if (iTypeName.Compare((*textArray)[i]->Value()->Des()) == 0)
- {
- iType = i;
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::LoadBearerInfoL()
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
- CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
- CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
- TInt count = textArray->Count();
-
- for (TInt i=0; i<count; i++)
- {
- if (iBearerName.Compare((*textArray)[i]->Value()->Des()) == 0)
- {
- iBearer = i;
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::LoadItemInfoL(TInt aResouceId, const TDesC& aInfo, TInt& aIndex)
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, aResouceId);
- CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
- CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
- TInt count = textArray->Count();
-
- for (TInt i=0; i<count; i++)
- {
- if (aInfo.Compare((*textArray)[i]->Value()->Des()) == 0)
- {
- aIndex = i;
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::LoadExtendSettingsL()
- {
- CDirectPrintPrintSettings* printSettings = GetBearerMgr()->PrinterSettingsL();
- TInt count = printSettings->iCapabilities.Count();
- for (TInt i=0; i<count; i++)
- {
- switch (printSettings->iCapabilities[i]->iUid)
- {
- case EDirectPrintCapabAP:
- {
- CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(printSettings->iCapabilities[i]->iTitle));
- CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
- TInt count = textArray->Count();
-
- for (TInt j=0; j<count; j++)
- {
- if (iAccessPointName.Compare((*textArray)[j]->Value()->Des()) == 0)
- {
- CDirectPrintListCapability* capability = static_cast<CDirectPrintListCapability*>(printSettings->iCapabilities[i]);
- capability->iEnumIndex = j;
- capability->iValue = capability->iEnumIDs[j];
- break;
- }
- }
- }
- break;
- case EDirectPrintCapabHost:
- {
- CDirectPrintTextCapability* capability = static_cast<CDirectPrintTextCapability*>(printSettings->iCapabilities[i]);
- capability->iText.Copy(iHost);
- }
- break;
- case EDirectPrintCapabPort:
- {
- printSettings->iCapabilities[i]->iValue = iPort;
- }
- break;
- case EDirectPrintCapabUser:
- {
- CDirectPrintTextCapability* capability = static_cast<CDirectPrintTextCapability*>(printSettings->iCapabilities[i]);
- capability->iText.Copy(iUserName);
- }
- break;
- case EDirectPrintCapabQue:
- {
- CDirectPrintTextCapability* capability = static_cast<CDirectPrintTextCapability*>(printSettings->iCapabilities[i]);
- capability->iText.Copy(iQue);
- }
- break;
- default:
- break;
- }
- }
- }
-
-void CDirectPrintPrinterSettingView::StoreDriverInfoL()
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_DRIVER);
- iDriverName.Copy(GetSettingItemL(itemTitle)->SettingTextL());
- }
-
-void CDirectPrintPrinterSettingView::StoreTypeInfoL()
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_TYPE);
- iTypeName.Copy(GetSettingItemL(itemTitle)->SettingTextL());
- }
-
-void CDirectPrintPrinterSettingView::StoreBearerInfoL()
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
- iBearerName.Copy(GetSettingItemL(itemTitle)->SettingTextL());
- }
-
-void CDirectPrintPrinterSettingView::StoreItemInfoL(TInt aResouceId, TDes& aInfo)
- {
- TBuf<25> itemTitle;
- CEikonEnv::Static()->ReadResource(itemTitle, aResouceId);
- aInfo.Copy(GetSettingItemL(itemTitle)->SettingTextL());
- }
-
-void CDirectPrintPrinterSettingView::StoreExtendSettingsL()
- {
- CDirectPrintPrintSettings* printSettings = GetBearerMgr()->PrinterSettingsL();
- TInt count = printSettings->iCapabilities.Count();
- for (TInt i=0; i<count; i++)
- {
- switch (printSettings->iCapabilities[i]->iUid)
- {
- case EDirectPrintCapabAP:
- {
- CDirectPrintListCapability* capability = static_cast<CDirectPrintListCapability*>(printSettings->iCapabilities[i]);
- iAccessPointName.Copy(GetSettingItemL(capability->iTitle)->SettingTextL());
- capability->iValue = capability->iEnumIDs[capability->iEnumIndex];
- }
- break;
- case EDirectPrintCapabHost:
- {
- iHost.Copy(GetSettingItemL(printSettings->iCapabilities[i]->iTitle)->SettingTextL());
- }
- break;
- case EDirectPrintCapabPort:
- {
- iPort = printSettings->iCapabilities[i]->iValue;
- }
- break;
- case EDirectPrintCapabUser:
- {
- iUserName.Copy(GetSettingItemL(printSettings->iCapabilities[i]->iTitle)->SettingTextL());
- }
- break;
- case EDirectPrintCapabQue:
- {
- iQue.Copy(GetSettingItemL(printSettings->iCapabilities[i]->iTitle)->SettingTextL());
- }
- break;
- default:
- break;
- }
- }
- }
-
-CAknSettingItem* CDirectPrintPrinterSettingView::GetSettingItemL(const TDesC& aItemTitle)
- {
- CAknSettingItem* item = NULL;
- CAknSettingItemArray* array = iListBox->SettingItemArray();
- TInt count = array->Count();
-
- for (TInt i=0; i<count; i++)
- {
- item = (*array)[i];
- TPtrC name = item->SettingName();
- if (name.Compare(aItemTitle) == 0)
- {
- break;
- }
- item = NULL;
- }
-
- return item;
- }
-
-CDirectPrintBearerMgr* CDirectPrintPrinterSettingView::GetBearerMgr()
- {
- return (static_cast<CDirectPrintAppAppUi*>(AppUi()))->BearerMgr();
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// System include files
+#include <aknviewappui.h>
+#include <akntoolbar.h>
+#include <barsread.h>
+#include <DirectPrintApp.rsg>
+#include <AknSettingItemList.h>
+#include <eiklbx.h>
+#include <bautils.h>
+#include <driveinfo.h>
+#include <pathinfo.h>
+
+// User include files
+#include "clog.h"
+#include "directprintapp.hrh"
+#include "DirectPrintAppAppUi.h"
+#include "DirectPrintEngine.h"
+#include "DirectPrintModel.h"
+#include "directprintsettingview.h"
+#include "DirectPrintBearerMgr.h"
+
+#include "directprintbasecapability.h"
+#include "directprintlistcapability.h"
+#include "directprinttextcapability.h"
+#include "directprintprintsettings.h"
+#include "imageprint.h"
+#include "directprintcapabilitycodes.h"
+
+CDirectPrintPrinterSettingView::CDirectPrintPrinterSettingView()
+ {
+ iListBox = NULL;
+ }
+
+CDirectPrintPrinterSettingView::~CDirectPrintPrinterSettingView()
+ {
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ delete iListBox;
+ }
+
+CDirectPrintPrinterSettingView* CDirectPrintPrinterSettingView::NewL()
+ {
+ CDirectPrintPrinterSettingView* self = CDirectPrintPrinterSettingView::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintPrinterSettingView* CDirectPrintPrinterSettingView::NewLC()
+ {
+ CDirectPrintPrinterSettingView* self = new(ELeave) CDirectPrintPrinterSettingView();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+void CDirectPrintPrinterSettingView::ConstructL()
+ {
+ LOG("CDirectPrintPrinterSettingView::ConstructL BEGIN");
+ BaseConstructL(R_DIRECTPRINT_PRINTERSETTING_VIEW);
+
+ iViewId = TUid::Uid(EDirectPrintPrinterSettingViewId);
+ LOG("CDirectPrintPrinterSettingView::ConstructL END");
+ }
+
+void CDirectPrintPrinterSettingView::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EAknSoftkeyBack:
+ {
+ iListBox->StoreSettingsL();
+ StoreDriverInfoL();
+ StoreTypeInfoL();
+ StoreBearerInfoL();
+ StoreExtendSettingsL();
+ WriteDataL(); // write to model
+ GetBearerMgr()->SetJobSettings(); // write to bearer
+ GetModel().SetIsNewData(EFalse);
+
+ AppUi()->HandleCommandL(EDirectPrintCmdIdPrinterSettingViewBack);
+ }
+ break;
+ default:
+ {
+ AppUi()->HandleCommandL(aCommand);
+ }
+ break;
+ }
+ }
+
+void CDirectPrintPrinterSettingView::HandleEditItemL(TInt aIndex, TBool aChanged)
+ {
+ if (aChanged)
+ {
+ TBuf<25> titleBearer;
+ CEikonEnv::Static()->ReadResource(titleBearer, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
+
+ TPtrC name = (*(iListBox->SettingItemArray()))[aIndex]->SettingName();
+ if (name.Compare(titleBearer) == 0)
+ {
+ ReloadListL();
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ LOG("CDirectPrintPrinterSettingView::DoActivateL BEGIN");
+
+ if (GetModel().IsNewData())
+ {
+ NewDataL();
+ }
+ else
+ {
+ ReadDataL();
+ }
+
+ if (!iListBox)
+ {
+ // Create list box
+ iListBox = CDirectPrintSettingListBox::NewL(ClientRect());
+ iListBox->SetMopParent(this);
+ iListBox->SetSettingListObserver(this);
+ iListBox->ConstructFromResourceL(R_DIRECTPRINT_PRINTERSETTING_ITEM_LIST);
+ iListBox->ActivateL();
+ }
+ else
+ {
+ iListBox->SettingItemArray()->ResetAndDestroy();
+ }
+
+ LoadListL();
+ LoadDriverInfoL();
+ LoadTypeInfoL();
+ LoadBearerInfoL();
+ LoadExtendListL();
+ iListBox->LoadSettingsL();
+ AppUi()->AddToStackL(*this, iListBox);
+ iListBox->MakeVisible(ETrue);
+ iListBox->DrawNow();
+
+ // set the title pane
+ SetActiveTitleL(R_DIRECTPRINT_PRINTERSETTING_TITLE);
+ LOG("CDirectPrintPrinterSettingView::DoActivateL END");
+ }
+
+void CDirectPrintPrinterSettingView::DoDeactivate()
+ {
+ LOG("CDirectPrintPrinterSettingView::DoDeactivate BEGIN");
+ iListBox->MakeVisible(EFalse);
+ AppUi()->RemoveFromViewStack(*this, iListBox);
+ LOG("CDirectPrintPrinterSettingView::DoDeactivate END");
+ }
+
+void CDirectPrintPrinterSettingView::LoadListL()
+ {
+ LOG("CDirectPrintPrinterSettingView::LoadListL BEGIN");
+
+ TBuf<25> itemTitle;
+
+ // Common setting item
+ CAknTextSettingItem* item1 = new (ELeave) CAknTextSettingItem(ESettingViewItemPrinterName, iPrinterName);
+ CleanupStack::PushL(item1);
+ item1->SetEmptyItemTextL( _L("None") );
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_PRINTERNAME);
+ item1->ConstructL(EFalse, ESettingViewItemPrinterName, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_TEXT_SETTING_PAGE, -1);
+ iListBox->SettingItemArray()->AppendL(item1);
+ CleanupStack::Pop(item1);
+
+ LOG("CDirectPrintPrinterSettingView::LoadListL 1");
+
+ iDriver = 0;
+ CAknEnumeratedTextPopupSettingItem* item2 = new (ELeave) CAknEnumeratedTextPopupSettingItem(ESettingViewItemDriver, iDriver);
+ CleanupStack::PushL(item2);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_DRIVER);
+ item2->ConstructL(EFalse, ESettingViewItemDriver, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_TEXTS);
+
+ LOG("CDirectPrintPrinterSettingView::LoadListL 2");
+ // set printer driver
+ {
+ const TInt KSettingItemArrayGranularity = 5;
+ // Construct the array
+ CArrayPtr<CAknEnumeratedText>* enumeratedTextArray;
+ enumeratedTextArray = new( ELeave ) CArrayPtrFlat<CAknEnumeratedText>( KSettingItemArrayGranularity );
+ CleanupStack::PushL( enumeratedTextArray );
+
+ // Construct a dummy array for popup text, needed to avoid a panic
+ CArrayPtr<HBufC>* popupTextArray;
+ popupTextArray = new( ELeave ) CArrayPtrFlat<HBufC>( KSettingItemArrayGranularity );
+ CleanupStack::PushL( popupTextArray );
+
+ CDirectPrintAppAppUi* appui = static_cast<CDirectPrintAppAppUi*>( AppUi() );
+ CDirectPrintEngine* engine = appui->Engine();
+
+ // Read in the texts to be used in the setting item list
+ TInt index;
+ // Loop through all the texts
+
+ LOG1("ModelCount=[%d]", engine->ModelCount());
+
+ for (index=0; index < engine->ModelCount(); index++)
+ {
+ HBufC* thisText = HBufC::NewLC(KMaxPrinterModelNameLength);
+ TPtr thisTextDes = thisText->Des();
+ engine->ModelName(index, thisTextDes);
+ CAknEnumeratedText* enumeratedText = new( ELeave ) CAknEnumeratedText( index, thisText );
+ CleanupStack::Pop( thisText );
+ CleanupStack::PushL( enumeratedText );
+ enumeratedTextArray->AppendL( enumeratedText );
+ CleanupStack::Pop( enumeratedText );
+ }
+ if (engine->ModelCount() > 0)
+ {
+ item2->SetEnumeratedTextArrays( enumeratedTextArray, popupTextArray );
+ }
+ CleanupStack::Pop( popupTextArray );
+ CleanupStack::Pop( enumeratedTextArray );
+ }
+ LOG("CDirectPrintPrinterSettingView::LoadListL 2-2");
+
+ iListBox->SettingItemArray()->AppendL(item2);
+ CleanupStack::Pop(item2);
+
+ LOG("CDirectPrintPrinterSettingView::LoadListL 3");
+ iType = 0;
+ CAknEnumeratedTextPopupSettingItem* item3 = new (ELeave) CAknEnumeratedTextPopupSettingItem(ESettingViewItemType, iType);
+ CleanupStack::PushL(item3);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_TYPE);
+ item3->ConstructL(EFalse, ESettingViewItemType, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_TYPE_POPUP_SETTING_TEXTS);
+ iListBox->SettingItemArray()->AppendL(item3);
+ CleanupStack::Pop(item3);
+
+ iBearer = 0;
+ LOG("CDirectPrintPrinterSettingView::LoadListL 4");
+ CAknEnumeratedTextPopupSettingItem* item4 = new (ELeave) CAknEnumeratedTextPopupSettingItem(ESettingViewItemBearer, iBearer);
+ CleanupStack::PushL(item4);
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
+ item4->ConstructL(EFalse, ESettingViewItemBearer, itemTitle, NULL, R_DIRECTPRINT_PRINTERSETTING_POPUP_SETTING_PAGE, -1, 0, R_DIRECTPRINT_PRINTERSETTING_BEARER_POPUP_SETTING_TEXTS);
+
+ SetBearerListL(item4);
+
+ iListBox->SettingItemArray()->AppendL(item4);
+ CleanupStack::Pop(item4);
+
+ LOG("CDirectPrintPrinterSettingView::LoadListL xxx");
+
+ iListBox->ListBox()->SetCurrentItemIndex(0);
+ LOG("CDirectPrintPrinterSettingView::LoadListL xx");
+ iListBox->HandleChangeInItemArrayOrVisibilityL();
+ LOG("CDirectPrintPrinterSettingView::LoadListL END");
+ }
+
+void CDirectPrintPrinterSettingView::LoadExtendListL()
+ {
+ // Initialize capabilities for bearer
+ GetBearerMgr()->InitCapabilitiesL(iBearer);
+
+ // Extend setting item
+ CDirectPrintPrintSettings* printSettings = GetBearerMgr()->PrinterSettingsL();
+ TInt count = printSettings->iCapabilities.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ CAknSettingItem* item = printSettings->iCapabilities[i]->SettingItemLC(ESettingViewItemExtent+i);
+ iListBox->SettingItemArray()->AppendL(item);
+ CleanupStack::Pop(item);
+ }
+
+ LoadExtendSettingsL();
+
+ iListBox->HandleChangeInItemArrayOrVisibilityL();
+ }
+
+void CDirectPrintPrinterSettingView::ReloadListL()
+ {
+ iListBox->StoreSettingsL();
+ StoreDriverInfoL();
+ StoreTypeInfoL();
+ StoreBearerInfoL();
+ StoreExtendSettingsL();
+
+ iListBox->SettingItemArray()->ResetAndDestroy();
+ LoadListL();
+ LoadDriverInfoL();
+ LoadTypeInfoL();
+ LoadBearerInfoL();
+
+ LoadExtendListL();
+
+ iListBox->LoadSettingsL();
+ iListBox->DrawNow();
+ }
+
+void CDirectPrintPrinterSettingView::SetBearerListL(CAknEnumeratedTextPopupSettingItem* item)
+ {
+ TInt err = GetBearerMgr()->GetProtocolNames(iBearerList);
+ if (!err)
+ {
+ CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
+ textArray->ResetAndDestroy();
+
+ TInt count = iBearerList.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ CAknEnumeratedText* enumText = new (ELeave) CAknEnumeratedText(i, iBearerList[i].iName.AllocLC());
+ CleanupStack::Pop();
+ CleanupStack::PushL(enumText);
+ textArray->AppendL(enumText);
+ CleanupStack::Pop();
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::ReadDataL()
+ {
+ LOG("CDirectPrintPrinterSettingView::ReadDataL BEGIN");
+ CDirectPrintModel& model = GetModel();
+ TDirectPrintPrinterData printerData;
+ TInt index = model.SelectPrinter();
+ if (index >= 0)
+ {
+ model.GetPrinterDataL(index, printerData);
+ }
+ else
+ {
+ model.SetCurrentPrinter(0);
+ }
+
+ TDirectPrintBearerData bearerData;
+ index = model.CurrentBearer();
+ if (index >= 0)
+ {
+ //model.GetBearerDataL(index, bearerData);
+ model.GetSelectedBearerDataL(bearerData);
+ }
+ else
+ {
+ model.SetCurrentBearer(0);
+ }
+
+ iPrinterId = printerData.iPrinterId;
+ iPrinterName.Copy(printerData.iPrinterName);
+ iDriverName.Copy(printerData.iDriverName);
+ iTypeName.Copy(printerData.iTypeName);
+ //iDriver = 1;
+ //iBearer = 1;
+ //iAccessPoint = 0;
+ iAccessPointName.Copy(bearerData.iAccessPoint);
+ iBearerName.Copy(bearerData.iBearerName);
+ iPort = bearerData.iPort;
+ if (bearerData.iHostName.Length() > 0)
+ {
+ iHost.Copy(bearerData.iHostName);
+ }
+ iUserName.Copy(bearerData.iUserName);
+ iQue.Copy(bearerData.iQueName);
+
+ LOG("CDirectPrintPrinterSettingView::ReadDataL END");
+ }
+
+void CDirectPrintPrinterSettingView::WriteDataL()
+ {
+ LOG("CDirectPrintPrinterSettingView::WriteDataL BEGIN");
+ TDirectPrintPrinterData printerData;
+ printerData.iPrinterId = iPrinterId;
+ printerData.iPrinterName.Copy(iPrinterName);
+// printerData.iPrinterDriver = iDriverUid;
+ printerData.iDriverName.Copy(iDriverName);
+// printerData.iPrinterType = iType;
+ printerData.iTypeName.Copy(iTypeName);
+
+ TDirectPrintBearerData bearerData;
+ bearerData.iPrinterId = iPrinterId;
+ bearerData.iBearerName.Copy(iBearerName);
+ bearerData.iAccessPoint.Copy(iAccessPointName);
+ bearerData.iHostName.Copy(iHost);
+ bearerData.iPort = iPort;
+ bearerData.iUserName.Copy(iUserName);
+ bearerData.iQueName.Copy(iQue);
+
+ CDirectPrintModel& model = GetModel();
+ if (model.IsNewData())
+ {
+ if (model.PrinterCount() == 0)
+ {
+ model.SetCurrentPrinter(0);
+ model.SetCurrentBearer(0);
+ }
+ model.SetPrinterDataL(model.PrinterCount(), printerData);
+ model.SetBearerDataL(model.BearerCount(), bearerData);
+ }
+ else
+ {
+ model.SetPrinterDataL(model.SelectPrinter(), printerData);
+ //model.SetBearerDataL(model.CurrentBearer(), bearerData);
+ model.SetBearerDataL(bearerData);
+ }
+ LOG("CDirectPrintPrinterSettingView::WriteDataL END");
+ }
+
+void CDirectPrintPrinterSettingView::NewDataL()
+ {
+ CDirectPrintModel& model = GetModel();
+ TInt count = model.PrinterCount();
+
+ TBuf<50> buf;
+ TBool IsNewName = EFalse;
+ for (TInt i=1; !IsNewName; i++)
+ {
+ buf.Format(_L("Printer%d"), count+i);
+ IsNewName = ETrue;
+
+ for (TInt j=0; j<count; j++)
+ {
+ TDirectPrintPrinterData printerData;
+ model.GetPrinterDataL(j, printerData);
+ if (printerData.iPrinterName.Compare(buf) == 0)
+ {
+ IsNewName = EFalse;
+ break;
+ }
+ }
+ }
+
+ iPrinterId = model.NewPrinterId();
+ iPrinterName.Copy(buf);
+ iDriver = 0;
+ iBearer = 0;
+ iAccessPoint = 0;
+// iAccessPointName.Copy(_L("WLAN_ap1"));
+// iHostIp.SetAddress(3232235530);
+ iPort = 80;
+ iUserName.Copy(_L(""));
+ iQue.Copy(_L(""));
+ }
+
+void CDirectPrintPrinterSettingView::LoadDriverInfoL()
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_DRIVER);
+ CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
+ CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
+ TInt count = textArray->Count();
+
+ for (TInt i=0; i<count; i++)
+ {
+ if (iDriverName.Compare((*textArray)[i]->Value()->Des()) == 0)
+ {
+ iDriver = i;
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::LoadTypeInfoL()
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_TYPE);
+ CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
+ CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
+ TInt count = textArray->Count();
+
+ for (TInt i=0; i<count; i++)
+ {
+ if (iTypeName.Compare((*textArray)[i]->Value()->Des()) == 0)
+ {
+ iType = i;
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::LoadBearerInfoL()
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
+ CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
+ CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
+ TInt count = textArray->Count();
+
+ for (TInt i=0; i<count; i++)
+ {
+ if (iBearerName.Compare((*textArray)[i]->Value()->Des()) == 0)
+ {
+ iBearer = i;
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::LoadItemInfoL(TInt aResouceId, const TDesC& aInfo, TInt& aIndex)
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, aResouceId);
+ CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(itemTitle));
+ CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
+ TInt count = textArray->Count();
+
+ for (TInt i=0; i<count; i++)
+ {
+ if (aInfo.Compare((*textArray)[i]->Value()->Des()) == 0)
+ {
+ aIndex = i;
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::LoadExtendSettingsL()
+ {
+ CDirectPrintPrintSettings* printSettings = GetBearerMgr()->PrinterSettingsL();
+ TInt count = printSettings->iCapabilities.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ switch (printSettings->iCapabilities[i]->iUid)
+ {
+ case EDirectPrintCapabAP:
+ {
+ CAknEnumeratedTextPopupSettingItem* item = static_cast<CAknEnumeratedTextPopupSettingItem*>(GetSettingItemL(printSettings->iCapabilities[i]->iTitle));
+ CArrayPtr<CAknEnumeratedText>* textArray = item->EnumeratedTextArray();
+ TInt count = textArray->Count();
+
+ for (TInt j=0; j<count; j++)
+ {
+ if (iAccessPointName.Compare((*textArray)[j]->Value()->Des()) == 0)
+ {
+ CDirectPrintListCapability* capability = static_cast<CDirectPrintListCapability*>(printSettings->iCapabilities[i]);
+ capability->iEnumIndex = j;
+ capability->iValue = capability->iEnumIDs[j];
+ break;
+ }
+ }
+ }
+ break;
+ case EDirectPrintCapabHost:
+ {
+ CDirectPrintTextCapability* capability = static_cast<CDirectPrintTextCapability*>(printSettings->iCapabilities[i]);
+ capability->iText.Copy(iHost);
+ }
+ break;
+ case EDirectPrintCapabPort:
+ {
+ printSettings->iCapabilities[i]->iValue = iPort;
+ }
+ break;
+ case EDirectPrintCapabUser:
+ {
+ CDirectPrintTextCapability* capability = static_cast<CDirectPrintTextCapability*>(printSettings->iCapabilities[i]);
+ capability->iText.Copy(iUserName);
+ }
+ break;
+ case EDirectPrintCapabQue:
+ {
+ CDirectPrintTextCapability* capability = static_cast<CDirectPrintTextCapability*>(printSettings->iCapabilities[i]);
+ capability->iText.Copy(iQue);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+void CDirectPrintPrinterSettingView::StoreDriverInfoL()
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_DRIVER);
+ iDriverName.Copy(GetSettingItemL(itemTitle)->SettingTextL());
+ }
+
+void CDirectPrintPrinterSettingView::StoreTypeInfoL()
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_TYPE);
+ iTypeName.Copy(GetSettingItemL(itemTitle)->SettingTextL());
+ }
+
+void CDirectPrintPrinterSettingView::StoreBearerInfoL()
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, R_DIRECTPRINT_PRINTERSETTING_ITEM_BEARER);
+ iBearerName.Copy(GetSettingItemL(itemTitle)->SettingTextL());
+ }
+
+void CDirectPrintPrinterSettingView::StoreItemInfoL(TInt aResouceId, TDes& aInfo)
+ {
+ TBuf<25> itemTitle;
+ CEikonEnv::Static()->ReadResource(itemTitle, aResouceId);
+ aInfo.Copy(GetSettingItemL(itemTitle)->SettingTextL());
+ }
+
+void CDirectPrintPrinterSettingView::StoreExtendSettingsL()
+ {
+ CDirectPrintPrintSettings* printSettings = GetBearerMgr()->PrinterSettingsL();
+ TInt count = printSettings->iCapabilities.Count();
+ for (TInt i=0; i<count; i++)
+ {
+ switch (printSettings->iCapabilities[i]->iUid)
+ {
+ case EDirectPrintCapabAP:
+ {
+ CDirectPrintListCapability* capability = static_cast<CDirectPrintListCapability*>(printSettings->iCapabilities[i]);
+ iAccessPointName.Copy(GetSettingItemL(capability->iTitle)->SettingTextL());
+ capability->iValue = capability->iEnumIDs[capability->iEnumIndex];
+ }
+ break;
+ case EDirectPrintCapabHost:
+ {
+ iHost.Copy(GetSettingItemL(printSettings->iCapabilities[i]->iTitle)->SettingTextL());
+ }
+ break;
+ case EDirectPrintCapabPort:
+ {
+ iPort = printSettings->iCapabilities[i]->iValue;
+ }
+ break;
+ case EDirectPrintCapabUser:
+ {
+ iUserName.Copy(GetSettingItemL(printSettings->iCapabilities[i]->iTitle)->SettingTextL());
+ }
+ break;
+ case EDirectPrintCapabQue:
+ {
+ iQue.Copy(GetSettingItemL(printSettings->iCapabilities[i]->iTitle)->SettingTextL());
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+CAknSettingItem* CDirectPrintPrinterSettingView::GetSettingItemL(const TDesC& aItemTitle)
+ {
+ CAknSettingItem* item = NULL;
+ CAknSettingItemArray* array = iListBox->SettingItemArray();
+ TInt count = array->Count();
+
+ for (TInt i=0; i<count; i++)
+ {
+ item = (*array)[i];
+ TPtrC name = item->SettingName();
+ if (name.Compare(aItemTitle) == 0)
+ {
+ break;
+ }
+ item = NULL;
+ }
+
+ return item;
+ }
+
+CDirectPrintBearerMgr* CDirectPrintPrinterSettingView::GetBearerMgr()
+ {
+ return (static_cast<CDirectPrintAppAppUi*>(AppUi()))->BearerMgr();
+ }
+
--- a/DirectPrint/DirectPrintApp/ui/src/directprintviewbase.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintApp/ui/src/directprintviewbase.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,92 +1,92 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <aknviewappui.h>
-#include <barsread.h>
-#include <akntitle.h>
-
-#include "directprintviewbase.h"
-#include "directprintappappui.h"
-#include "directprintappdocument.h"
-#include "directprintmodel.h"
-#include "directprintuipluginmgr.h"
-#include "directprintengine.h"
-
-CDirectPrintViewBase::CDirectPrintViewBase()
- {
- }
-
-CDirectPrintViewBase::~CDirectPrintViewBase()
- {
- }
-
-void CDirectPrintViewBase::ConstructL()
- {
- }
-
-TUid CDirectPrintViewBase::Id() const
- {
- return iViewId;
- }
-
-void CDirectPrintViewBase::HandleListIndexL(TInt /*aIndex*/)
- {
- }
-
-void CDirectPrintViewBase::HandleEditItemL(TInt /*aIndex*/, TBool /*aChanged*/)
- {
- }
-
-void CDirectPrintViewBase::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- }
-
-void CDirectPrintViewBase::DoDeactivate()
- {
- }
-
-void CDirectPrintViewBase::SetActiveTitleL(TInt aTitleResId)
- {
- TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
- CEikStatusPaneBase::TPaneCapabilities subPaneTitle =
- StatusPane()->PaneCapabilities( titlePaneUid );
- if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
- {
- CAknTitlePane* title = static_cast< CAknTitlePane* >(
- StatusPane()->ControlL( titlePaneUid ) );
- TResourceReader reader;
- iEikonEnv->CreateResourceReaderLC( reader, aTitleResId );
- title->SetFromResourceL( reader );
- CleanupStack::PopAndDestroy(); // reader internal state
- }
- }
-
-CDirectPrintModel& CDirectPrintViewBase::GetModel()
- {
- return (static_cast<CDirectPrintAppAppUi*>(AppUi()))->Doc()->Model();
- }
-
-CDirectPrintUiPluginMgr& CDirectPrintViewBase::GetPluginMgr()
- {
- return (static_cast<CDirectPrintAppAppUi*>(AppUi()))->PluginMgr();
- }
-
-CDirectPrintEngine& CDirectPrintViewBase::GetEngine()
- {
- return *((static_cast<CDirectPrintAppAppUi*>(AppUi()))->Engine());
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <aknviewappui.h>
+#include <barsread.h>
+#include <akntitle.h>
+
+#include "directprintviewbase.h"
+#include "directprintappappui.h"
+#include "directprintappdocument.h"
+#include "directprintmodel.h"
+#include "directprintuipluginmgr.h"
+#include "directprintengine.h"
+
+CDirectPrintViewBase::CDirectPrintViewBase()
+ {
+ }
+
+CDirectPrintViewBase::~CDirectPrintViewBase()
+ {
+ }
+
+void CDirectPrintViewBase::ConstructL()
+ {
+ }
+
+TUid CDirectPrintViewBase::Id() const
+ {
+ return iViewId;
+ }
+
+void CDirectPrintViewBase::HandleListIndexL(TInt /*aIndex*/)
+ {
+ }
+
+void CDirectPrintViewBase::HandleEditItemL(TInt /*aIndex*/, TBool /*aChanged*/)
+ {
+ }
+
+void CDirectPrintViewBase::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
+ {
+ }
+
+void CDirectPrintViewBase::DoDeactivate()
+ {
+ }
+
+void CDirectPrintViewBase::SetActiveTitleL(TInt aTitleResId)
+ {
+ TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
+ CEikStatusPaneBase::TPaneCapabilities subPaneTitle =
+ StatusPane()->PaneCapabilities( titlePaneUid );
+ if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
+ {
+ CAknTitlePane* title = static_cast< CAknTitlePane* >(
+ StatusPane()->ControlL( titlePaneUid ) );
+ TResourceReader reader;
+ iEikonEnv->CreateResourceReaderLC( reader, aTitleResId );
+ title->SetFromResourceL( reader );
+ CleanupStack::PopAndDestroy(); // reader internal state
+ }
+ }
+
+CDirectPrintModel& CDirectPrintViewBase::GetModel()
+ {
+ return (static_cast<CDirectPrintAppAppUi*>(AppUi()))->Doc()->Model();
+ }
+
+CDirectPrintUiPluginMgr& CDirectPrintViewBase::GetPluginMgr()
+ {
+ return (static_cast<CDirectPrintAppAppUi*>(AppUi()))->PluginMgr();
+ }
+
+CDirectPrintEngine& CDirectPrintViewBase::GetEngine()
+ {
+ return *((static_cast<CDirectPrintAppAppUi*>(AppUi()))->Engine());
+ }
+
--- a/DirectPrint/DirectPrintClient/bwins/directprintclientu.def Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintClient/bwins/directprintclientu.def Tue May 11 14:10:02 2010 +0800
@@ -1,31 +1,31 @@
-EXPORTS
- ??0RDirectPrintClient@@QAE@XZ @ 1 NONAME ; RDirectPrintClient::RDirectPrintClient(void)
- ?CancelCreateJob@RDirectPrintClient@@QBEHXZ @ 2 NONAME ; int RDirectPrintClient::CancelCreateJob(void) const
- ?CancelDiscovery@RDirectPrintClient@@QBEHXZ @ 3 NONAME ; int RDirectPrintClient::CancelDiscovery(void) const
- ?CancelPrintJob@RDirectPrintClient@@QBEHXZ @ 4 NONAME ; int RDirectPrintClient::CancelPrintJob(void) const
- ?CancelStartDiscovery@RDirectPrintClient@@QBEHXZ @ 5 NONAME ; int RDirectPrintClient::CancelStartDiscovery(void) const
- ?Close@RDirectPrintClient@@QAEXXZ @ 6 NONAME ; void RDirectPrintClient::Close(void)
- ?ConnectL@RDirectPrintClient@@QAEXXZ @ 7 NONAME ; void RDirectPrintClient::ConnectL(void)
- ?ContinueCreateJob@RDirectPrintClient@@QAEHAAVTDirectPrintJobGuardData@@AAVTRequestStatus@@@Z @ 8 NONAME ; int RDirectPrintClient::ContinueCreateJob(class TDirectPrintJobGuardData &, class TRequestStatus &)
- ?ContinuePrintJob@RDirectPrintClient@@QBEHXZ @ 9 NONAME ; int RDirectPrintClient::ContinuePrintJob(void) const
- ?CountConnections@RDirectPrintClient@@QBEHAAH@Z @ 10 NONAME ; int RDirectPrintClient::CountConnections(int &) const
- ?CreateJob@RDirectPrintClient@@QAEHHAAVTDirectPrintJobGuardData@@AAV?$RPointerArray@VTDesC16@@@@AAVTRequestStatus@@@Z @ 11 NONAME ; int RDirectPrintClient::CreateJob(int, class TDirectPrintJobGuardData &, class RPointerArray<class TDesC16> &, class TRequestStatus &)
- ?GetJobSetting@RDirectPrintClient@@QBEHHAAH@Z @ 12 NONAME ; int RDirectPrintClient::GetJobSetting(int, int &) const
- ?GetJobStatus@RDirectPrintClient@@QBEHXZ @ 13 NONAME ; int RDirectPrintClient::GetJobStatus(void) const
- ?GetJobTemplateIcon@RDirectPrintClient@@QBEHHAAH@Z @ 14 NONAME ; int RDirectPrintClient::GetJobTemplateIcon(int, int &) const
- ?GetNumPreviewPages@RDirectPrintClient@@QBEHXZ @ 15 NONAME ; int RDirectPrintClient::GetNumPreviewPages(void) const
- ?GetNumPrintPages@RDirectPrintClient@@QBEHXZ @ 16 NONAME ; int RDirectPrintClient::GetNumPrintPages(void) const
- ?GetPrinterCapability@RDirectPrintClient@@QBEHHHAAVTDirectPrintCapability@@@Z @ 17 NONAME ; int RDirectPrintClient::GetPrinterCapability(int, int, class TDirectPrintCapability &) const
- ?GetPrinterCapabilityIDs@RDirectPrintClient@@QBEHHAAV?$RArray@H@@@Z @ 18 NONAME ; int RDirectPrintClient::GetPrinterCapabilityIDs(int, class RArray<int> &) const
- ?GetPrinterStatus@RDirectPrintClient@@QBEHH@Z @ 19 NONAME ; int RDirectPrintClient::GetPrinterStatus(int) const
- ?GetProtocolNames@RDirectPrintClient@@QBEHAAV?$RArray@VTDirectPrintSelectItem@@@@@Z @ 20 NONAME ; int RDirectPrintClient::GetProtocolNames(class RArray<class TDirectPrintSelectItem> &) const
- ?IsPictBridgeMode@RDirectPrintClient@@QBEHXZ @ 21 NONAME ; int RDirectPrintClient::IsPictBridgeMode(void) const
- ?ReleaseEngine@RDirectPrintClient@@QBEHXZ @ 22 NONAME ; int RDirectPrintClient::ReleaseEngine(void) const
- ?RemoveCachedPrinter@RDirectPrintClient@@QBEHH@Z @ 23 NONAME ; int RDirectPrintClient::RemoveCachedPrinter(int) const
- ?ReserveEngine@RDirectPrintClient@@QBEHXZ @ 24 NONAME ; int RDirectPrintClient::ReserveEngine(void) const
- ?SetForeground@RDirectPrintClient@@QBEHH@Z @ 25 NONAME ; int RDirectPrintClient::SetForeground(int) const
- ?SetJobSetting@RDirectPrintClient@@QBEHHHAAH@Z @ 26 NONAME ; int RDirectPrintClient::SetJobSetting(int, int, int &) const
- ?SetNumberOfCopies@RDirectPrintClient@@QBEHABV?$RArray@H@@@Z @ 27 NONAME ; int RDirectPrintClient::SetNumberOfCopies(class RArray<int> const &) const
- ?SubmitPrintJob@RDirectPrintClient@@QBEHXZ @ 28 NONAME ; int RDirectPrintClient::SubmitPrintJob(void) const
- ?SupportedProtocols@RDirectPrintClient@@QBEHXZ @ 29 NONAME ; int RDirectPrintClient::SupportedProtocols(void) const
-
+EXPORTS
+ ??0RDirectPrintClient@@QAE@XZ @ 1 NONAME ; RDirectPrintClient::RDirectPrintClient(void)
+ ?CancelCreateJob@RDirectPrintClient@@QBEHXZ @ 2 NONAME ; int RDirectPrintClient::CancelCreateJob(void) const
+ ?CancelDiscovery@RDirectPrintClient@@QBEHXZ @ 3 NONAME ; int RDirectPrintClient::CancelDiscovery(void) const
+ ?CancelPrintJob@RDirectPrintClient@@QBEHXZ @ 4 NONAME ; int RDirectPrintClient::CancelPrintJob(void) const
+ ?CancelStartDiscovery@RDirectPrintClient@@QBEHXZ @ 5 NONAME ; int RDirectPrintClient::CancelStartDiscovery(void) const
+ ?Close@RDirectPrintClient@@QAEXXZ @ 6 NONAME ; void RDirectPrintClient::Close(void)
+ ?ConnectL@RDirectPrintClient@@QAEXXZ @ 7 NONAME ; void RDirectPrintClient::ConnectL(void)
+ ?ContinueCreateJob@RDirectPrintClient@@QAEHAAVTDirectPrintJobGuardData@@AAVTRequestStatus@@@Z @ 8 NONAME ; int RDirectPrintClient::ContinueCreateJob(class TDirectPrintJobGuardData &, class TRequestStatus &)
+ ?ContinuePrintJob@RDirectPrintClient@@QBEHXZ @ 9 NONAME ; int RDirectPrintClient::ContinuePrintJob(void) const
+ ?CountConnections@RDirectPrintClient@@QBEHAAH@Z @ 10 NONAME ; int RDirectPrintClient::CountConnections(int &) const
+ ?CreateJob@RDirectPrintClient@@QAEHHAAVTDirectPrintJobGuardData@@AAV?$RPointerArray@VTDesC16@@@@AAVTRequestStatus@@@Z @ 11 NONAME ; int RDirectPrintClient::CreateJob(int, class TDirectPrintJobGuardData &, class RPointerArray<class TDesC16> &, class TRequestStatus &)
+ ?GetJobSetting@RDirectPrintClient@@QBEHHAAH@Z @ 12 NONAME ; int RDirectPrintClient::GetJobSetting(int, int &) const
+ ?GetJobStatus@RDirectPrintClient@@QBEHXZ @ 13 NONAME ; int RDirectPrintClient::GetJobStatus(void) const
+ ?GetJobTemplateIcon@RDirectPrintClient@@QBEHHAAH@Z @ 14 NONAME ; int RDirectPrintClient::GetJobTemplateIcon(int, int &) const
+ ?GetNumPreviewPages@RDirectPrintClient@@QBEHXZ @ 15 NONAME ; int RDirectPrintClient::GetNumPreviewPages(void) const
+ ?GetNumPrintPages@RDirectPrintClient@@QBEHXZ @ 16 NONAME ; int RDirectPrintClient::GetNumPrintPages(void) const
+ ?GetPrinterCapability@RDirectPrintClient@@QBEHHHAAVTDirectPrintCapability@@@Z @ 17 NONAME ; int RDirectPrintClient::GetPrinterCapability(int, int, class TDirectPrintCapability &) const
+ ?GetPrinterCapabilityIDs@RDirectPrintClient@@QBEHHAAV?$RArray@H@@@Z @ 18 NONAME ; int RDirectPrintClient::GetPrinterCapabilityIDs(int, class RArray<int> &) const
+ ?GetPrinterStatus@RDirectPrintClient@@QBEHH@Z @ 19 NONAME ; int RDirectPrintClient::GetPrinterStatus(int) const
+ ?GetProtocolNames@RDirectPrintClient@@QBEHAAV?$RArray@VTDirectPrintSelectItem@@@@@Z @ 20 NONAME ; int RDirectPrintClient::GetProtocolNames(class RArray<class TDirectPrintSelectItem> &) const
+ ?IsPictBridgeMode@RDirectPrintClient@@QBEHXZ @ 21 NONAME ; int RDirectPrintClient::IsPictBridgeMode(void) const
+ ?ReleaseEngine@RDirectPrintClient@@QBEHXZ @ 22 NONAME ; int RDirectPrintClient::ReleaseEngine(void) const
+ ?RemoveCachedPrinter@RDirectPrintClient@@QBEHH@Z @ 23 NONAME ; int RDirectPrintClient::RemoveCachedPrinter(int) const
+ ?ReserveEngine@RDirectPrintClient@@QBEHXZ @ 24 NONAME ; int RDirectPrintClient::ReserveEngine(void) const
+ ?SetForeground@RDirectPrintClient@@QBEHH@Z @ 25 NONAME ; int RDirectPrintClient::SetForeground(int) const
+ ?SetJobSetting@RDirectPrintClient@@QBEHHHAAH@Z @ 26 NONAME ; int RDirectPrintClient::SetJobSetting(int, int, int &) const
+ ?SetNumberOfCopies@RDirectPrintClient@@QBEHABV?$RArray@H@@@Z @ 27 NONAME ; int RDirectPrintClient::SetNumberOfCopies(class RArray<int> const &) const
+ ?SubmitPrintJob@RDirectPrintClient@@QBEHXZ @ 28 NONAME ; int RDirectPrintClient::SubmitPrintJob(void) const
+ ?SupportedProtocols@RDirectPrintClient@@QBEHXZ @ 29 NONAME ; int RDirectPrintClient::SupportedProtocols(void) const
+
--- a/DirectPrint/DirectPrintClient/eabi/directprintclientu.def Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintClient/eabi/directprintclientu.def Tue May 11 14:10:02 2010 +0800
@@ -1,32 +1,32 @@
-EXPORTS
- _ZN18RDirectPrintClient17ContinueCreateJobER24TDirectPrintJobGuardDataR14TRequestStatus @ 1 NONAME
- _ZN18RDirectPrintClient5CloseEv @ 2 NONAME
- _ZN18RDirectPrintClient8ConnectLEv @ 3 NONAME
- _ZN18RDirectPrintClient9CreateJobEiR24TDirectPrintJobGuardDataR13RPointerArrayI7TDesC16ER14TRequestStatus @ 4 NONAME
- _ZN18RDirectPrintClientC1Ev @ 5 NONAME
- _ZN18RDirectPrintClientC2Ev @ 6 NONAME
- _ZNK18RDirectPrintClient12GetJobStatusEv @ 7 NONAME
- _ZNK18RDirectPrintClient13GetJobSettingEiRi @ 8 NONAME
- _ZNK18RDirectPrintClient13ReleaseEngineEv @ 9 NONAME
- _ZNK18RDirectPrintClient13ReserveEngineEv @ 10 NONAME
- _ZNK18RDirectPrintClient13SetForegroundEi @ 11 NONAME
- _ZNK18RDirectPrintClient13SetJobSettingEiiRi @ 12 NONAME
- _ZNK18RDirectPrintClient14CancelPrintJobEv @ 13 NONAME
- _ZNK18RDirectPrintClient14SubmitPrintJobEv @ 14 NONAME
- _ZNK18RDirectPrintClient15CancelCreateJobEv @ 15 NONAME
- _ZNK18RDirectPrintClient15CancelDiscoveryEv @ 16 NONAME
- _ZNK18RDirectPrintClient16ContinuePrintJobEv @ 17 NONAME
- _ZNK18RDirectPrintClient16CountConnectionsERi @ 18 NONAME
- _ZNK18RDirectPrintClient16GetNumPrintPagesEv @ 19 NONAME
- _ZNK18RDirectPrintClient16GetPrinterStatusEi @ 20 NONAME
- _ZNK18RDirectPrintClient16GetProtocolNamesER6RArrayI22TDirectPrintSelectItemE @ 21 NONAME
- _ZNK18RDirectPrintClient16IsPictBridgeModeEv @ 22 NONAME
- _ZNK18RDirectPrintClient17SetNumberOfCopiesERK6RArrayIiE @ 23 NONAME
- _ZNK18RDirectPrintClient18GetJobTemplateIconEiRi @ 24 NONAME
- _ZNK18RDirectPrintClient18GetNumPreviewPagesEv @ 25 NONAME
- _ZNK18RDirectPrintClient18SupportedProtocolsEv @ 26 NONAME
- _ZNK18RDirectPrintClient19RemoveCachedPrinterEi @ 27 NONAME
- _ZNK18RDirectPrintClient20CancelStartDiscoveryEv @ 28 NONAME
- _ZNK18RDirectPrintClient20GetPrinterCapabilityEiiR22TDirectPrintCapability @ 29 NONAME
- _ZNK18RDirectPrintClient23GetPrinterCapabilityIDsEiR6RArrayIiE @ 30 NONAME
-
+EXPORTS
+ _ZN18RDirectPrintClient17ContinueCreateJobER24TDirectPrintJobGuardDataR14TRequestStatus @ 1 NONAME
+ _ZN18RDirectPrintClient5CloseEv @ 2 NONAME
+ _ZN18RDirectPrintClient8ConnectLEv @ 3 NONAME
+ _ZN18RDirectPrintClient9CreateJobEiR24TDirectPrintJobGuardDataR13RPointerArrayI7TDesC16ER14TRequestStatus @ 4 NONAME
+ _ZN18RDirectPrintClientC1Ev @ 5 NONAME
+ _ZN18RDirectPrintClientC2Ev @ 6 NONAME
+ _ZNK18RDirectPrintClient12GetJobStatusEv @ 7 NONAME
+ _ZNK18RDirectPrintClient13GetJobSettingEiRi @ 8 NONAME
+ _ZNK18RDirectPrintClient13ReleaseEngineEv @ 9 NONAME
+ _ZNK18RDirectPrintClient13ReserveEngineEv @ 10 NONAME
+ _ZNK18RDirectPrintClient13SetForegroundEi @ 11 NONAME
+ _ZNK18RDirectPrintClient13SetJobSettingEiiRi @ 12 NONAME
+ _ZNK18RDirectPrintClient14CancelPrintJobEv @ 13 NONAME
+ _ZNK18RDirectPrintClient14SubmitPrintJobEv @ 14 NONAME
+ _ZNK18RDirectPrintClient15CancelCreateJobEv @ 15 NONAME
+ _ZNK18RDirectPrintClient15CancelDiscoveryEv @ 16 NONAME
+ _ZNK18RDirectPrintClient16ContinuePrintJobEv @ 17 NONAME
+ _ZNK18RDirectPrintClient16CountConnectionsERi @ 18 NONAME
+ _ZNK18RDirectPrintClient16GetNumPrintPagesEv @ 19 NONAME
+ _ZNK18RDirectPrintClient16GetPrinterStatusEi @ 20 NONAME
+ _ZNK18RDirectPrintClient16GetProtocolNamesER6RArrayI22TDirectPrintSelectItemE @ 21 NONAME
+ _ZNK18RDirectPrintClient16IsPictBridgeModeEv @ 22 NONAME
+ _ZNK18RDirectPrintClient17SetNumberOfCopiesERK6RArrayIiE @ 23 NONAME
+ _ZNK18RDirectPrintClient18GetJobTemplateIconEiRi @ 24 NONAME
+ _ZNK18RDirectPrintClient18GetNumPreviewPagesEv @ 25 NONAME
+ _ZNK18RDirectPrintClient18SupportedProtocolsEv @ 26 NONAME
+ _ZNK18RDirectPrintClient19RemoveCachedPrinterEi @ 27 NONAME
+ _ZNK18RDirectPrintClient20CancelStartDiscoveryEv @ 28 NONAME
+ _ZNK18RDirectPrintClient20GetPrinterCapabilityEiiR22TDirectPrintCapability @ 29 NONAME
+ _ZNK18RDirectPrintClient23GetPrinterCapabilityIDsEiR6RArrayIiE @ 30 NONAME
+
--- a/DirectPrint/DirectPrintClient/group/bld.inf Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintClient/group/bld.inf Tue May 11 14:10:02 2010 +0800
@@ -1,32 +1,32 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/directprintclient.h |../../inc/directprintclient.h
-
-//../rom/directprintserver.iby CORE_APP_LAYER_IBY_EXPORT_PATH( directprintserver.iby )
-
-PRJ_PLATFORMS
-WINSCW ARMV5 GCCE
-
-PRJ_MMPFILES
-directprintclient.mmp
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+../inc/directprintclient.h |../../inc/directprintclient.h
+
+//../rom/directprintserver.iby CORE_APP_LAYER_IBY_EXPORT_PATH( directprintserver.iby )
+
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
+
+PRJ_MMPFILES
+directprintclient.mmp
+
+// End of File
--- a/DirectPrint/DirectPrintClient/group/directprintclient.mmp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintClient/group/directprintclient.mmp Tue May 11 14:10:02 2010 +0800
@@ -1,50 +1,50 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <bldvariant.hrh>
-#include <data_caging_paths.hrh>
-
-#include "../../inc/logdef.h"
-
-deffile directprintclient.def
-
-TARGET directprintclient.dll
-TARGETTYPE dll
-CAPABILITY ALL -TCB
-UID 0x1000008D 0x2002BB2B
-
-APP_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE . ../inc
-USERINCLUDE ../../ImagePrintLibrary/inc
-USERINCLUDE ../../inc
-
-SOURCEPATH ../src
-
-SOURCE directprintclient.cpp
-//SOURCE cidleguard.cpp
-//SOURCE cdiscoveryguard.cpp
-//SOURCE cjobguard.cpp
-
-STATICLIBRARY clog.lib
-LIBRARY flogger.lib
-
-LIBRARY euser.lib
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <bldvariant.hrh>
+#include <data_caging_paths.hrh>
+
+#include "../../inc/logdef.h"
+
+deffile directprintclient.def
+
+TARGET directprintclient.dll
+TARGETTYPE dll
+CAPABILITY ALL -TCB
+UID 0x1000008D 0x2002BB2B
+
+APP_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE . ../inc
+USERINCLUDE ../../ImagePrintLibrary/inc
+USERINCLUDE ../../inc
+
+SOURCEPATH ../src
+
+SOURCE directprintclient.cpp
+//SOURCE cidleguard.cpp
+//SOURCE cdiscoveryguard.cpp
+//SOURCE cjobguard.cpp
+
+STATICLIBRARY clog.lib
+LIBRARY flogger.lib
+
+LIBRARY euser.lib
+
// End of File
\ No newline at end of file
--- a/DirectPrint/DirectPrintClient/inc/directprintclient.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintClient/inc/directprintclient.h Tue May 11 14:10:02 2010 +0800
@@ -1,315 +1,315 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef RDIRECTPRINTCLIENT_H
-#define RDIRECTPRINTCLIENT_H
-
-#include <e32std.h>
-
-#include "directprintselectitem.h"
-
-class TDirectPrintCapability;
-//class TIdleGuardData;
-//class TDiscoveryGuardData;
-class TDirectPrintJobGuardData;
-
-class RDirectPrintClient : public RSessionBase
- {
- public:
-
- /**
- * Constructor
- */
- IMPORT_C RDirectPrintClient();
-
- /**
- * Connect to the DirectPrint server
- *
- * @return KErrNone if successful, otherwise another of the system-wide error codes
- */
- IMPORT_C void ConnectL();
-
- /**
- * Close the session
- */
- IMPORT_C void Close();
-
- /**
- * Count connections to the server ( all clients in all prosesses )
- *
- * @param aConnections holder for connnections count
- * @return KErrNone if successful, otherwise another of the system-wide error codes
- */
- IMPORT_C TInt CountConnections( TInt& aConnections ) const;
-
- /**
- * Inform server about foreground/background state of the client
- *
- * @param aFg foreground/background flag
- * @return KErrNone if successful, otherwise another of the system-wide error codes
- */
- IMPORT_C TInt SetForeground( TInt aFg ) const;
-
-
- /**
- * Reserves DirectPrint engine for this client
- *
- * @return KErrNone if successful, KErrInUse if used by another client
- */
- IMPORT_C TInt ReserveEngine() const;
-
- /**
- * Releases DirectPrint engine
- *
- * @return KErrNone if successful, KErrInUse if used by another client
- */
- IMPORT_C TInt ReleaseEngine() const;
-
- /**
- * Get protocols supported by DirectPrint engine
- *
- * @return OR:ed protocols or KErrInUse if used by another client
- */
- IMPORT_C TInt SupportedProtocols() const;
-
- /**
- * Gets the number of pages to be printed
- *
- * @return Number of pages to print or KErrInUse if used by another client
- */
- IMPORT_C TInt GetNumPrintPages() const;
-
- /**
- * Gets the status of the printing job created
- *
- * @return Printing job status or KErrInUse if used by another client
- */
- IMPORT_C TInt GetJobStatus() const;
-
- /**
- * Gets the status of the printer
- *
- * @param aPrinterID The exposed ID of the printer the client wants to know about.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetPrinterStatus( TInt aPrinterID ) const;
-
- /**
- * Cancel discovery
- *
- * @return KErrNone or KErrInUse if used by another client
- */
- IMPORT_C TInt CancelDiscovery() const;
-
- /**
- * Submits a print job already created. The actual job execution is asynchronous so this
- * function returns immediately. If successful, notification of job status and job
- * completion is received by the client through the MPrintEventObserver.
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt SubmitPrintJob() const;
-
- /**
- * Cancels the print job. This is an asynchronous command. MPrintEventObserver::PrintJobProgressEvent
- * will be called with the status of TPrintJobProgressEventStatus::EDone when the cancellation
- * is completed. The notification can potentially be received by the client before
- * this command returns to the client.
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CancelPrintJob() const;
-
- /**
- * Continues printing and / or submitting a print job.
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt ContinuePrintJob() const;
-
- /**
- * Removes a specified cached printer.
- *
- * @param aPrinterID The exposed ID of the printer the client wants to remove.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt RemoveCachedPrinter( TInt aPrinterID ) const;
-
- /**
- * Gets the icon representing a given layout or template.
- *
- * @param aTemplateID ID of the template / layout of interest.
- * @param aFbsBitmapHandle Handle to the appropriate bitmap.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetJobTemplateIcon( TInt aTemplateID, TInt& aFbsBitmapHandle ) const;
-
- /**
- * Gets the number of pages in the preview.
- *
- * @return Number of pages in the preview.
- */
- IMPORT_C TInt GetNumPreviewPages() const;
-
- /**
- * Sets a print job setting.
- *
- * @param aCapabilityID ID of the capability of interest.
- * @param aValue New capability value.
- * @param aAffectedCapability ID of any affected capability.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt SetJobSetting( TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability ) const;
-
- /**
- * Gets a setting configured for the created print job.
- *
- * @param aCapabilityID ID of the capability of interest.
- * @param aValue Capability value.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetJobSetting( TInt aCapabilityID, TInt& aValue ) const;
-
- /**
- * Gets the detail of a certain capability of a certain printer.
- *
- * @param aPrinterID The exposed ID of the printer the client wants to know about.
- * @param aCapabilityID ID of the capability of interest.
- * @param aCapability Capability information.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetPrinterCapability(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability) const;
-
- /**
- * Gets the IDs of the capabilities supported by the printer specified.
- *
- * @param aPrinterID The exposed ID of the printer the client wants to know about.
- * @param aCapabilityIDs Array containing the ID's of the capabilities of the specified printer.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetPrinterCapabilityIDs( TInt aPrinterID, RArray<TInt>& aCapabilityIDs ) const;
-
- /**
- * Registers the IdleObserver to send idle event notifications. Asynchronous function.
- *
- * @param aData place holder for idle event. On function completion contains idle event data.
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt RegisterIdleObserver( TIdleGuardData& aData, TRequestStatus& aStatus );
-
- /**
- * Cancel registering idle observer
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt CancelRegisterIdleObserver() const;
-
- /**
- * Start discovery and set request for discovery event. Asynchronous function.
- *
- * @param aData place holder for discovery event. On function completion contains discovery event data.
- * @param aProtocols OR:ed protocol ids
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt StartDiscovery( TDiscoveryGuardData& aData, TUint aProtocols, TRequestStatus& aStatus );
-
- /**
- * Set next request for discovery event. Asynchronous function.
- *
- * @param aData place holder for discovery event. On function completion contains discovery event data.
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt ContinueDiscovery( TDiscoveryGuardData& aData, TRequestStatus& aStatus );
-
- /**
- * Create print job and set request for print job event. Asynchronous function.
- *
- * @param aPrinterID printer id
- * @param aData place holder for print job event. On function completion contains print job event data.
- * @param aImages array of image file names
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CreateJob( TInt aPrinterID, TDirectPrintJobGuardData& aData, RPointerArray<TDesC>& aImages, TRequestStatus& aStatus );
-
- /**
- * Set next request for print job event. Asynchronous function.
- *
- * @param aData place holder for print job event. On function completion contains print job event data.
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt ContinueCreateJob( TDirectPrintJobGuardData& aData, TRequestStatus& aStatus );
-
- /**
- * Cancel starting discovery
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CancelStartDiscovery() const;
-
- /**
- * Cancel creating print job
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CancelCreateJob() const;
-
- /**
- * PictBridge USB mode checker
- *
- * @return TInt value more than 0, if PictBridge USB mode is on; 0 if off; negative value if error
- */
- IMPORT_C TInt IsPictBridgeMode() const;
-
- /**
- * Set number of copies
- *
- * @param aArray array of number of copies elements. Each array element corresponds to the array
- * of image file names of created print job
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt SetNumberOfCopies( const RArray<TInt>& aArray ) const;
-
- IMPORT_C TInt GetProtocolNames(RSelectItemArray& aNames) const;
-
- public:
-
- /**
- * Version getter
- *
- * @return version of the client
- */
- TVersion Version() const;
-
- private:
-
- TPtr8 iDicsoveryDataPtr;
- TPtr8 iIdleDataPtr;
- TPtr8 iJobDataPtr;
- TDirectPrintCapability* iCapability;
- TPtr8 iNameDataPtr;
- };
-
-
-#endif // RDIRECTPRINTCLIENT_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef RDIRECTPRINTCLIENT_H
+#define RDIRECTPRINTCLIENT_H
+
+#include <e32std.h>
+
+#include "directprintselectitem.h"
+
+class TDirectPrintCapability;
+//class TIdleGuardData;
+//class TDiscoveryGuardData;
+class TDirectPrintJobGuardData;
+
+class RDirectPrintClient : public RSessionBase
+ {
+ public:
+
+ /**
+ * Constructor
+ */
+ IMPORT_C RDirectPrintClient();
+
+ /**
+ * Connect to the DirectPrint server
+ *
+ * @return KErrNone if successful, otherwise another of the system-wide error codes
+ */
+ IMPORT_C void ConnectL();
+
+ /**
+ * Close the session
+ */
+ IMPORT_C void Close();
+
+ /**
+ * Count connections to the server ( all clients in all prosesses )
+ *
+ * @param aConnections holder for connnections count
+ * @return KErrNone if successful, otherwise another of the system-wide error codes
+ */
+ IMPORT_C TInt CountConnections( TInt& aConnections ) const;
+
+ /**
+ * Inform server about foreground/background state of the client
+ *
+ * @param aFg foreground/background flag
+ * @return KErrNone if successful, otherwise another of the system-wide error codes
+ */
+ IMPORT_C TInt SetForeground( TInt aFg ) const;
+
+
+ /**
+ * Reserves DirectPrint engine for this client
+ *
+ * @return KErrNone if successful, KErrInUse if used by another client
+ */
+ IMPORT_C TInt ReserveEngine() const;
+
+ /**
+ * Releases DirectPrint engine
+ *
+ * @return KErrNone if successful, KErrInUse if used by another client
+ */
+ IMPORT_C TInt ReleaseEngine() const;
+
+ /**
+ * Get protocols supported by DirectPrint engine
+ *
+ * @return OR:ed protocols or KErrInUse if used by another client
+ */
+ IMPORT_C TInt SupportedProtocols() const;
+
+ /**
+ * Gets the number of pages to be printed
+ *
+ * @return Number of pages to print or KErrInUse if used by another client
+ */
+ IMPORT_C TInt GetNumPrintPages() const;
+
+ /**
+ * Gets the status of the printing job created
+ *
+ * @return Printing job status or KErrInUse if used by another client
+ */
+ IMPORT_C TInt GetJobStatus() const;
+
+ /**
+ * Gets the status of the printer
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to know about.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetPrinterStatus( TInt aPrinterID ) const;
+
+ /**
+ * Cancel discovery
+ *
+ * @return KErrNone or KErrInUse if used by another client
+ */
+ IMPORT_C TInt CancelDiscovery() const;
+
+ /**
+ * Submits a print job already created. The actual job execution is asynchronous so this
+ * function returns immediately. If successful, notification of job status and job
+ * completion is received by the client through the MPrintEventObserver.
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt SubmitPrintJob() const;
+
+ /**
+ * Cancels the print job. This is an asynchronous command. MPrintEventObserver::PrintJobProgressEvent
+ * will be called with the status of TPrintJobProgressEventStatus::EDone when the cancellation
+ * is completed. The notification can potentially be received by the client before
+ * this command returns to the client.
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CancelPrintJob() const;
+
+ /**
+ * Continues printing and / or submitting a print job.
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt ContinuePrintJob() const;
+
+ /**
+ * Removes a specified cached printer.
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to remove.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt RemoveCachedPrinter( TInt aPrinterID ) const;
+
+ /**
+ * Gets the icon representing a given layout or template.
+ *
+ * @param aTemplateID ID of the template / layout of interest.
+ * @param aFbsBitmapHandle Handle to the appropriate bitmap.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetJobTemplateIcon( TInt aTemplateID, TInt& aFbsBitmapHandle ) const;
+
+ /**
+ * Gets the number of pages in the preview.
+ *
+ * @return Number of pages in the preview.
+ */
+ IMPORT_C TInt GetNumPreviewPages() const;
+
+ /**
+ * Sets a print job setting.
+ *
+ * @param aCapabilityID ID of the capability of interest.
+ * @param aValue New capability value.
+ * @param aAffectedCapability ID of any affected capability.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt SetJobSetting( TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability ) const;
+
+ /**
+ * Gets a setting configured for the created print job.
+ *
+ * @param aCapabilityID ID of the capability of interest.
+ * @param aValue Capability value.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetJobSetting( TInt aCapabilityID, TInt& aValue ) const;
+
+ /**
+ * Gets the detail of a certain capability of a certain printer.
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to know about.
+ * @param aCapabilityID ID of the capability of interest.
+ * @param aCapability Capability information.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetPrinterCapability(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability) const;
+
+ /**
+ * Gets the IDs of the capabilities supported by the printer specified.
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to know about.
+ * @param aCapabilityIDs Array containing the ID's of the capabilities of the specified printer.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetPrinterCapabilityIDs( TInt aPrinterID, RArray<TInt>& aCapabilityIDs ) const;
+
+ /**
+ * Registers the IdleObserver to send idle event notifications. Asynchronous function.
+ *
+ * @param aData place holder for idle event. On function completion contains idle event data.
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt RegisterIdleObserver( TIdleGuardData& aData, TRequestStatus& aStatus );
+
+ /**
+ * Cancel registering idle observer
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt CancelRegisterIdleObserver() const;
+
+ /**
+ * Start discovery and set request for discovery event. Asynchronous function.
+ *
+ * @param aData place holder for discovery event. On function completion contains discovery event data.
+ * @param aProtocols OR:ed protocol ids
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt StartDiscovery( TDiscoveryGuardData& aData, TUint aProtocols, TRequestStatus& aStatus );
+
+ /**
+ * Set next request for discovery event. Asynchronous function.
+ *
+ * @param aData place holder for discovery event. On function completion contains discovery event data.
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt ContinueDiscovery( TDiscoveryGuardData& aData, TRequestStatus& aStatus );
+
+ /**
+ * Create print job and set request for print job event. Asynchronous function.
+ *
+ * @param aPrinterID printer id
+ * @param aData place holder for print job event. On function completion contains print job event data.
+ * @param aImages array of image file names
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CreateJob( TInt aPrinterID, TDirectPrintJobGuardData& aData, RPointerArray<TDesC>& aImages, TRequestStatus& aStatus );
+
+ /**
+ * Set next request for print job event. Asynchronous function.
+ *
+ * @param aData place holder for print job event. On function completion contains print job event data.
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt ContinueCreateJob( TDirectPrintJobGuardData& aData, TRequestStatus& aStatus );
+
+ /**
+ * Cancel starting discovery
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CancelStartDiscovery() const;
+
+ /**
+ * Cancel creating print job
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CancelCreateJob() const;
+
+ /**
+ * PictBridge USB mode checker
+ *
+ * @return TInt value more than 0, if PictBridge USB mode is on; 0 if off; negative value if error
+ */
+ IMPORT_C TInt IsPictBridgeMode() const;
+
+ /**
+ * Set number of copies
+ *
+ * @param aArray array of number of copies elements. Each array element corresponds to the array
+ * of image file names of created print job
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt SetNumberOfCopies( const RArray<TInt>& aArray ) const;
+
+ IMPORT_C TInt GetProtocolNames(RSelectItemArray& aNames) const;
+
+ public:
+
+ /**
+ * Version getter
+ *
+ * @return version of the client
+ */
+ TVersion Version() const;
+
+ private:
+
+ TPtr8 iDicsoveryDataPtr;
+ TPtr8 iIdleDataPtr;
+ TPtr8 iJobDataPtr;
+ TDirectPrintCapability* iCapability;
+ TPtr8 iNameDataPtr;
+ };
+
+
+#endif // RDIRECTPRINTCLIENT_H
+
+// End of File
--- a/DirectPrint/DirectPrintClient/src/directprintclient.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintClient/src/directprintclient.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,577 +1,577 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <e32svr.h>
-#include <e32math.h>
-
-#include "directprintclient.h"
-#include "directprintclientserver.h"
-#include "directprintcapability.h"
-#include "clog.h"
-#include "directprintjobguarddata.h"
-
-namespace
- {
- // Server startup code
- TInt StartServer()
- {
- // EPOC and EKA2 is easy, we just create a new server process. Simultaneous
- // launching of two such processes should be detected when the second one
- // attempts to create the server object, failing with KErrAlreadyExists.
- RProcess server;
- TInt r = server.Create( KDirectPrintServerImg, KNullDesC );
-
- if( r != KErrNone )
- return r;
- TRequestStatus stat;
- server.Rendezvous(stat);
- if (stat!=KRequestPending)
- server.Kill(0); // abort startup
- else
- server.Resume(); // logon OK - start the server
- User::WaitForRequest(stat); // wait for start or death
- // we can't use the 'exit reason' if the server panicked as this
- // is the panic 'reason' and may be '0' which cannot be distinguished
- // from KErrNone
- r=(server.ExitType()==EExitPanic) ? KErrGeneral : stat.Int();
-
- server.Close();
- return r;
- }
- }
-
-TVersion RDirectPrintClient::Version() const
- {
- return TVersion( KDirectPrintServerMajor, KDirectPrintServerMinor, KDirectPrintServerBuild );
- }
-
-EXPORT_C RDirectPrintClient::RDirectPrintClient()
- : RSessionBase()
- , iDicsoveryDataPtr(NULL, 0, 0)
- , iIdleDataPtr(NULL, 0, 0)
- , iJobDataPtr(NULL, 0, 0)
- , iNameDataPtr(NULL, 0, 0)
- {
- iCapability = NULL;
- }
-
-EXPORT_C void RDirectPrintClient::ConnectL()
- {
- LOG1("RDirectPrintClient::Connect Handle(): %d", Handle());
- // check against double-connect
- if( Handle() != KNullHandle )
- {
- User::Leave(KErrAlreadyExists);
- }
-
- iCapability = new (ELeave) TDirectPrintCapability();
-
- // create process
- TInt err = StartServer();
- if (err == KErrNone)
- {
- // create session
- err = CreateSession( KDirectPrintServerName, Version() );
- }
- User::LeaveIfError(err);
- }
-
-EXPORT_C void RDirectPrintClient::Close()
- {
- LOG("RDirectPrintClient::Close begin");
- if( iCapability )
- {
- delete iCapability;
- iCapability = NULL;
- }
- RSessionBase::Close();
- LOG("RDirectPrintClient::Close end");
- }
-
-EXPORT_C TInt RDirectPrintClient::CountConnections( TInt& aConnections ) const
- {
- TPckg<TInt> connsBuf( aConnections );
- return SendReceive( ECountConnections, TIpcArgs( &connsBuf ) );
- }
-
-EXPORT_C TInt RDirectPrintClient::SetForeground( TInt aFg ) const
- {
- return SendReceive( ESetForeground, TIpcArgs( aFg ) );
- }
-
-EXPORT_C TInt RDirectPrintClient::ReserveEngine() const
- {
- return SendReceive( EReserveEngine );
- }
-
-EXPORT_C TInt RDirectPrintClient::ReleaseEngine() const
- {
- return SendReceive( EReleaseEngine );
- }
-
-EXPORT_C TInt RDirectPrintClient::SupportedProtocols() const
- {
- LOG("RDirectPrintClient::SupportedProtocols ESupportedProtocols");
- TInt prots = SendReceive( ESupportedProtocols );
- LOG1("RDirectPrintClient::SupportedProtocols end with: %d", prots);
- return prots;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetNumPrintPages() const
- {
- LOG("RDirectPrintClient::GetNumPrintPages EGetNumPrintPages");
- TInt pages = SendReceive( EGetNumPrintPages );
- LOG1("RDirectPrintClient::GetNumPrintPages end with: %d", pages);
- return pages;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetJobStatus() const
- {
- LOG("RDirectPrintClient::GetJobStatus EGetJobStatus");
- TInt status = SendReceive( EGetJobStatus );
- LOG1("RDirectPrintClient::GetJobStatus end with: %d", status);
- return status;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetPrinterStatus( TInt aPrinterID ) const
- {
- LOG1("RDirectPrintClient::GetPrinterStatus EGetPrinterStatus aPrinterID: %d", aPrinterID);
- TInt status = SendReceive( EGetPrinterStatus, TIpcArgs( aPrinterID ) );
- LOG1("RDirectPrintClient::GetPrinterStatus end with: %d", status);
- return status;
- }
-
-EXPORT_C TInt RDirectPrintClient::CancelDiscovery() const
- {
- LOG("RDirectPrintClient::CancelDiscovery ECancelDiscovery");
- TInt err = SendReceive( ECancelDiscovery );
- LOG1("RDirectPrintClient::CancelDiscovery end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::SubmitPrintJob() const
- {
- LOG("RDirectPrintClient::SubmitPrintJob ESubmitPrintJob");
- TInt err = SendReceive( ESubmitPrintJob );
- LOG1("RDirectPrintClient::SubmitPrintJob end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::CancelPrintJob() const
- {
- LOG("RDirectPrintClient::CancelPrintJob ECancelPrintJob");
- TInt err = SendReceive( ECancelPrintJob );
- LOG1("RDirectPrintClient::CancelPrintJob end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::ContinuePrintJob() const
- {
- LOG("RDirectPrintClient::ContinuePrintJob EContinuePrintJob");
- TInt err = SendReceive( EContinuePrintJob );
- LOG1("RDirectPrintClient::ContinuePrintJob end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::RemoveCachedPrinter( TInt aPrinterID ) const
- {
- LOG1("RDirectPrintClient::RemoveCachedPrinter ERemoveCachedPrinter aPrinterID: %d", aPrinterID);
- TInt err = SendReceive( ERemoveCachedPrinter, TIpcArgs( aPrinterID ) );
- LOG1("RDirectPrintClient::RemoveCachedPrinter end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetJobTemplateIcon( TInt aTemplateID, TInt& aFbsBitmapHandle ) const
- {
- TPckg<TInt> handleBuf( aFbsBitmapHandle );
- LOG1("RDirectPrintClient::GetJobTemplateIcon EGetJobTemplateIcon aTemplateID: %d", aTemplateID);
- TInt err = SendReceive( EGetJobTemplateIcon, TIpcArgs( aTemplateID, &handleBuf ) );
- LOG1("RDirectPrintClient::GetJobTemplateIcon aFbsBitmapHandle: %d", aFbsBitmapHandle);
- LOG1("RDirectPrintClient::GetJobTemplateIcon end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetNumPreviewPages() const
- {
- LOG("RDirectPrintClient::GetNumPreviewPages EGetNumPreviewPages");
- TInt pages = SendReceive( EGetNumPreviewPages );
- LOG1("RDirectPrintClient::GetNumPreviewPages end with: %d", pages);
- return pages;
- }
-
-EXPORT_C TInt RDirectPrintClient::SetJobSetting( TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability ) const
- {
- TPckg<TInt> capBuf( aAffectedCapability );
- LOG1("RDirectPrintClient::SetJobSetting ESetJobSetting aCapabilityID: %d", aCapabilityID);
- LOG1("RDirectPrintClient::SetJobSetting ESetJobSetting aValue: %d", aValue);
- TInt err = SendReceive( ESetJobSetting, TIpcArgs( aCapabilityID, aValue, &capBuf ) );
- LOG1("RDirectPrintClient::SetJobSetting aAffectedCapability: %d", aAffectedCapability);
- LOG1("RDirectPrintClient::SetJobSetting end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetJobSetting( TInt aCapabilityID, TInt& aValue ) const
- {
- TPckg<TInt> valueBuf( aValue );
- LOG1("RDirectPrintClient::GetJobSetting EGetJobSetting aCapabilityID: %d", aCapabilityID);
- TInt err = SendReceive( EGetJobSetting, TIpcArgs( aCapabilityID, &valueBuf ) );
- LOG1("RDirectPrintClient::GetJobSetting aValue: %d", aValue);
- LOG1("RDirectPrintClient::GetJobSetting end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetPrinterCapability(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability) const
- {
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapability aPrinterID: %d", aPrinterID);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapability aCapabilityID: %d", aCapabilityID);
- TInt err = SendReceive( EGetPrinterCapability, TIpcArgs( aPrinterID, aCapabilityID ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapability err: %d", err);
-
- if( !err )
- {
- TInt capId;
- TPckg<TInt> capIdBuf( capId );
- LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapId");
- err = SendReceive( EGetPrinterCapId, TIpcArgs( &capIdBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapId err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapId capId: %d", capId);
- if( !err )
- {
- iCapability->iCapabilityID = capId;
- }
- }
-
- if( !err )
- {
- TInt type;
- TPckg<TInt> typeBuf( type );
- LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapType");
- err = SendReceive( EGetPrinterCapType, TIpcArgs( &typeBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapType err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapType type: %d", type);
- if( !err )
- {
- iCapability->iType = static_cast<TDirectPrintCapability::ECapType>(type);
- }
- }
-
- if( !err )
- {
- TInt def;
- TPckg<TInt> defBuf( def );
- LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapDef");
- err = SendReceive( EGetPrinterCapDef, TIpcArgs( &defBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapDef err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapDef def: %d", def);
- if( !err )
- {
- iCapability->iDefaultValue = def;
- }
- }
-
- if( !err )
- {
- TInt low;
- TPckg<TInt> lowBuf( low );
- LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapLow");
- err = SendReceive( EGetPrinterCapLow, TIpcArgs( &lowBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapLow err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapLow low: %d", low);
- if( !err )
- {
- iCapability->iLow = low;
- }
- }
-
- if( !err )
- {
- TInt high;
- TPckg<TInt> highBuf( high );
- LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapHigh");
- err = SendReceive( EGetPrinterCapHigh, TIpcArgs( &highBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapHigh err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapHigh high: %d", high);
- if( !err )
- {
- iCapability->iHigh = high;
- }
- }
-
- if( !err )
- {
- TInt count;
- TPckg<TInt> countBuf( count );
- LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnumCount");
- err = SendReceive( EGetPrinterCapEnumCount, TIpcArgs( &countBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnumCount err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnumCount count: %d", count);
-
- if( !err )
- {
- iCapability->iEnumCount = count;
- for( TInt i = 0; i < count && ! err; i++ )
- {
- TInt value;
- TPckg<TInt> valueBuf( value );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnum i: %d",i);
- TInt err = SendReceive( EGetPrinterCapEnum, TIpcArgs( i, &valueBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnum err: %d", err);
- LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnum value: %d", value);
-
- if( !err )
- {
- iCapability->iEnumCodes[i] = value;
- }
- }
- }
- }
-
- if( !err )
- {
- aCapability = *iCapability;
- }
-
- LOG1("RDirectPrintClient::GetPrinterCapability end with: %d", err);
- return err;
- }
-
-
-EXPORT_C TInt RDirectPrintClient::GetPrinterCapabilityIDs( TInt aPrinterID, RArray<TInt>& aCapabilityIDs ) const
- {
- TInt count;
- TPckg<TInt> countBuf( count );
-
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityIDsCount aPrinterID: %d", aPrinterID);
- TInt err = SendReceive( EGetPrinterCapabilityIDsCount, TIpcArgs( aPrinterID, &countBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityIDsCount err: %d", err);
- if( !err )
- {
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityIDsCount count: %d", count);
- for( TInt i = 0; i < count && !err; i++ )
- {
- TInt capability;
- TPckg<TInt> capBuf( capability );
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityID i: %d", i);
- err = SendReceive( EGetPrinterCapabilityID, TIpcArgs( i, &capBuf ) );
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityID err: %d", err);
- if( !err )
- {
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs capability id: %d", capability);
- err = aCapabilityIDs.Append( capability );
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs append err: %d", err);
- }
- }
- }
-
- LOG1("RDirectPrintClient::GetPrinterCapabilityIDs end with: %d", err);
- return err;
- }
-/*
-EXPORT_C TInt RDirectPrintClient::RegisterIdleObserver( TIdleGuardData& aData, TRequestStatus& aStatus )
- {
- LOG("RDirectPrintClient::RegisterIdleObserver EReserveEngine");
- TInt err = SendReceive( EReserveEngine );
- LOG1("RDirectPrintClient::RegisterIdleObserver EReserveEngine err: %d", err);
- if( !err )
- {
- LOG("RDirectPrintClient::RegisterIdleObserver ERegisterIdleObserver");
- iIdleDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
- SendReceive( ERegisterIdleObserver, TIpcArgs( &iIdleDataPtr ), aStatus );
- }
- LOG1("RDirectPrintClient::RegisterIdleObserver end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::CancelRegisterIdleObserver() const
- {
- LOG("RDirectPrintClient::CancelRegisterIdleObserver ECancelRegisterIdleObserver");
- TInt err = SendReceive( EReleaseEngine );
- LOG1("RDirectPrintClient::RegisterIdleObserver EReleaseEngine err: %d", err);
-
- err = SendReceive( ECancelRegisterIdleObserver );
- LOG1("RDirectPrintClient::RegisterIdleObserver ECancelRegisterIdleObserver err: %d", err);
-
- LOG1("RDirectPrintClient::CancelRegisterIdleObserver end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::StartDiscovery( TDiscoveryGuardData& aData, TUint aProtocols, TRequestStatus& aStatus )
- {
- LOG("RDirectPrintClient::StartDiscovery EReserveEngine");
- TInt err = SendReceive( EReserveEngine );
- LOG1("RDirectPrintClient::StartDiscovery EReserveEngine err: %d", err);
- if( !err )
- {
- LOG1("RDirectPrintClient::StartDiscovery EStartDiscovery aProtocols: %d", aProtocols);
- err = SendReceive( EStartDiscovery, TIpcArgs( aProtocols ) );
- LOG1("RDirectPrintClient::StartDiscovery EStartDiscovery err: %d", err);
- }
- if( !err )
- {
- LOG("RDirectPrintClient::StartDiscovery EContinueDiscovery");
- iDicsoveryDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
- SendReceive( EContinueDiscovery, TIpcArgs( &iDicsoveryDataPtr ), aStatus );
- }
- LOG1("RDirectPrintClient::StartDiscovery end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::ContinueDiscovery( TDiscoveryGuardData& aData, TRequestStatus& aStatus )
- {
- LOG("RDirectPrintClient::ContinueDiscovery EReserveEngine");
- TInt err = SendReceive( EReserveEngine );
- LOG1("RDirectPrintClient::ContinueDiscovery EReserveEngine err: %d", err);
- if( !err )
- {
- LOG("RDirectPrintClient::ContinueDiscovery EContinueDiscovery");
- iDicsoveryDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
- SendReceive( EContinueDiscovery, TIpcArgs( &iDicsoveryDataPtr ), aStatus );
- }
- LOG1("RDirectPrintClient::ContinueDiscovery end with: %d", err);
- return err;
- }
-*/
-EXPORT_C TInt RDirectPrintClient::CreateJob( TInt aPrinterID, TDirectPrintJobGuardData& aData, RPointerArray<TDesC>& aImages, TRequestStatus& aStatus )
- {
- LOG("RDirectPrintClient::CreateJob EReserveEngine");
- TInt err = SendReceive( EReserveEngine );
- LOG1("RDirectPrintClient::CreateJob EReserveEngine err: %d", err);
- if( !err )
- {
- TInt count = aImages.Count();
- LOG1("RDirectPrintClient::CreateJob aImages.Count(): %d", aImages.Count());
- for( TInt i = 0; i < count && !err; i++ )
- {
- LOG("RDirectPrintClient::CreateJob EPrepareJob");
- err = SendReceive( EPrepareJob, TIpcArgs( aImages[i] ) );
- LOG1("RDirectPrintClient::CreateJob EPrepareJob err: %d", err);
- }
- }
- if( !err )
- {
- LOG("RDirectPrintClient::CreateJob ECreateJob");
- err = SendReceive( ECreateJob, TIpcArgs( aPrinterID ) );
- LOG1("RDirectPrintClient::CreateJob ECreateJob err: %d", err);
- }
- if( !err )
- {
- LOG("RDirectPrintClient::CreateJob EContinueCreateJob");
- iJobDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
- SendReceive( EContinueCreateJob, TIpcArgs( &iJobDataPtr ), aStatus );
- }
- LOG1("RDirectPrintClient::CreateJob end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::ContinueCreateJob( TDirectPrintJobGuardData& aData, TRequestStatus& aStatus )
- {
- LOG("RDirectPrintClient::ContinueCreateJob EReserveEngine");
- TInt err = SendReceive( EReserveEngine );
- LOG1("RDirectPrintClient::ContinueCreateJob EReserveEngine err: %d", err);
- if( !err )
- {
- LOG("RDirectPrintClient::ContinueCreateJob EContinueCreateJob");
- iJobDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
- SendReceive( EContinueCreateJob, TIpcArgs( &iJobDataPtr ), aStatus );
- }
- LOG1("RDirectPrintClient::ContinueCreateJob end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::CancelStartDiscovery() const
- {
- LOG("RDirectPrintClient::CancelStartDiscovery ECancelStartDiscovery");
- TInt err = SendReceive( ECancelStartDiscovery );
- LOG1("RDirectPrintClient::CancelStartDiscovery end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::CancelCreateJob() const
- {
- LOG("RDirectPrintClient::CancelCreateJob ECancelCreateJob");
- TInt err = SendReceive( ECancelCreateJob );
- LOG1("RDirectPrintClient::CancelCreateJob end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::IsPictBridgeMode() const
- {
- LOG("RDirectPrintClient::IsPictBridgeMode EIsPictBridgeMode");
-#ifdef __WINS__
- TInt err( KErrNotFound );
-#else
- TInt err = SendReceive( EIsPictBridgeMode );
-#endif
- LOG1("RDirectPrintClient::IsPictBridgeMode end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::SetNumberOfCopies( const RArray<TInt>& aArray ) const
- {
- LOG("RDirectPrintClient::SetNumberOfCopies EReserveEngine");
- TInt err = SendReceive( EReserveEngine );
- LOG1("RDirectPrintClient::SetNumberOfCopies EReserveEngine err: %d", err);
- if( !err )
- {
- TInt count = aArray.Count();
- LOG1("RDirectPrintClient::SetNumberOfCopies count: %d", count);
- LOG("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopiesCount");
- err = SendReceive( ESetNumberOfCopiesCount, TIpcArgs( count ) );
- LOG1("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopiesCount err: %d", err);
- for( TInt i = 0; i < count && !err; i++ )
- {
- LOG1("RDirectPrintClient::SetNumberOfCopies i: %d", i);
- LOG("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopies");
- err = SendReceive( ESetNumberOfCopies, TIpcArgs( aArray[i] ) );
- LOG1("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopies err: %d", err);
- }
- }
- LOG1("RDirectPrintClient::SetNumberOfCopies end with: %d", err);
- return err;
- }
-
-EXPORT_C TInt RDirectPrintClient::GetProtocolNames(RSelectItemArray& aNames) const
- {
- //TInt err = SendReceive( EReserveEngine );
- TInt count;
- TPckg<TInt> countBuf( count );
-
- TInt err = SendReceive( EGetProtocolNamesCount, TIpcArgs( &countBuf ) );
-
- if( !err )
- {
- aNames.Reset();
-
- for( TInt i = 0; i < count && !err; i++ )
- {
- TDirectPrintSelectItem item;
- //iNameDataPtr.Set(reinterpret_cast<TUint8*>(&item), sizeof(item), sizeof(item));
- TPtr8 ptr(reinterpret_cast<TUint8*>(&item), sizeof(item), sizeof(item));
- //err = SendReceive( EGetProtocolName, TIpcArgs( i, &iNameDataPtr ) );
- err = SendReceive( EGetProtocolName, TIpcArgs( i, &ptr ) );
- if( !err )
- {
- aNames.Append(item);
- }
- }
- }
-
- return err;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <e32svr.h>
+#include <e32math.h>
+
+#include "directprintclient.h"
+#include "directprintclientserver.h"
+#include "directprintcapability.h"
+#include "clog.h"
+#include "directprintjobguarddata.h"
+
+namespace
+ {
+ // Server startup code
+ TInt StartServer()
+ {
+ // EPOC and EKA2 is easy, we just create a new server process. Simultaneous
+ // launching of two such processes should be detected when the second one
+ // attempts to create the server object, failing with KErrAlreadyExists.
+ RProcess server;
+ TInt r = server.Create( KDirectPrintServerImg, KNullDesC );
+
+ if( r != KErrNone )
+ return r;
+ TRequestStatus stat;
+ server.Rendezvous(stat);
+ if (stat!=KRequestPending)
+ server.Kill(0); // abort startup
+ else
+ server.Resume(); // logon OK - start the server
+ User::WaitForRequest(stat); // wait for start or death
+ // we can't use the 'exit reason' if the server panicked as this
+ // is the panic 'reason' and may be '0' which cannot be distinguished
+ // from KErrNone
+ r=(server.ExitType()==EExitPanic) ? KErrGeneral : stat.Int();
+
+ server.Close();
+ return r;
+ }
+ }
+
+TVersion RDirectPrintClient::Version() const
+ {
+ return TVersion( KDirectPrintServerMajor, KDirectPrintServerMinor, KDirectPrintServerBuild );
+ }
+
+EXPORT_C RDirectPrintClient::RDirectPrintClient()
+ : RSessionBase()
+ , iDicsoveryDataPtr(NULL, 0, 0)
+ , iIdleDataPtr(NULL, 0, 0)
+ , iJobDataPtr(NULL, 0, 0)
+ , iNameDataPtr(NULL, 0, 0)
+ {
+ iCapability = NULL;
+ }
+
+EXPORT_C void RDirectPrintClient::ConnectL()
+ {
+ LOG1("RDirectPrintClient::Connect Handle(): %d", Handle());
+ // check against double-connect
+ if( Handle() != KNullHandle )
+ {
+ User::Leave(KErrAlreadyExists);
+ }
+
+ iCapability = new (ELeave) TDirectPrintCapability();
+
+ // create process
+ TInt err = StartServer();
+ if (err == KErrNone)
+ {
+ // create session
+ err = CreateSession( KDirectPrintServerName, Version() );
+ }
+ User::LeaveIfError(err);
+ }
+
+EXPORT_C void RDirectPrintClient::Close()
+ {
+ LOG("RDirectPrintClient::Close begin");
+ if( iCapability )
+ {
+ delete iCapability;
+ iCapability = NULL;
+ }
+ RSessionBase::Close();
+ LOG("RDirectPrintClient::Close end");
+ }
+
+EXPORT_C TInt RDirectPrintClient::CountConnections( TInt& aConnections ) const
+ {
+ TPckg<TInt> connsBuf( aConnections );
+ return SendReceive( ECountConnections, TIpcArgs( &connsBuf ) );
+ }
+
+EXPORT_C TInt RDirectPrintClient::SetForeground( TInt aFg ) const
+ {
+ return SendReceive( ESetForeground, TIpcArgs( aFg ) );
+ }
+
+EXPORT_C TInt RDirectPrintClient::ReserveEngine() const
+ {
+ return SendReceive( EReserveEngine );
+ }
+
+EXPORT_C TInt RDirectPrintClient::ReleaseEngine() const
+ {
+ return SendReceive( EReleaseEngine );
+ }
+
+EXPORT_C TInt RDirectPrintClient::SupportedProtocols() const
+ {
+ LOG("RDirectPrintClient::SupportedProtocols ESupportedProtocols");
+ TInt prots = SendReceive( ESupportedProtocols );
+ LOG1("RDirectPrintClient::SupportedProtocols end with: %d", prots);
+ return prots;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetNumPrintPages() const
+ {
+ LOG("RDirectPrintClient::GetNumPrintPages EGetNumPrintPages");
+ TInt pages = SendReceive( EGetNumPrintPages );
+ LOG1("RDirectPrintClient::GetNumPrintPages end with: %d", pages);
+ return pages;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetJobStatus() const
+ {
+ LOG("RDirectPrintClient::GetJobStatus EGetJobStatus");
+ TInt status = SendReceive( EGetJobStatus );
+ LOG1("RDirectPrintClient::GetJobStatus end with: %d", status);
+ return status;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetPrinterStatus( TInt aPrinterID ) const
+ {
+ LOG1("RDirectPrintClient::GetPrinterStatus EGetPrinterStatus aPrinterID: %d", aPrinterID);
+ TInt status = SendReceive( EGetPrinterStatus, TIpcArgs( aPrinterID ) );
+ LOG1("RDirectPrintClient::GetPrinterStatus end with: %d", status);
+ return status;
+ }
+
+EXPORT_C TInt RDirectPrintClient::CancelDiscovery() const
+ {
+ LOG("RDirectPrintClient::CancelDiscovery ECancelDiscovery");
+ TInt err = SendReceive( ECancelDiscovery );
+ LOG1("RDirectPrintClient::CancelDiscovery end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::SubmitPrintJob() const
+ {
+ LOG("RDirectPrintClient::SubmitPrintJob ESubmitPrintJob");
+ TInt err = SendReceive( ESubmitPrintJob );
+ LOG1("RDirectPrintClient::SubmitPrintJob end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::CancelPrintJob() const
+ {
+ LOG("RDirectPrintClient::CancelPrintJob ECancelPrintJob");
+ TInt err = SendReceive( ECancelPrintJob );
+ LOG1("RDirectPrintClient::CancelPrintJob end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::ContinuePrintJob() const
+ {
+ LOG("RDirectPrintClient::ContinuePrintJob EContinuePrintJob");
+ TInt err = SendReceive( EContinuePrintJob );
+ LOG1("RDirectPrintClient::ContinuePrintJob end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::RemoveCachedPrinter( TInt aPrinterID ) const
+ {
+ LOG1("RDirectPrintClient::RemoveCachedPrinter ERemoveCachedPrinter aPrinterID: %d", aPrinterID);
+ TInt err = SendReceive( ERemoveCachedPrinter, TIpcArgs( aPrinterID ) );
+ LOG1("RDirectPrintClient::RemoveCachedPrinter end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetJobTemplateIcon( TInt aTemplateID, TInt& aFbsBitmapHandle ) const
+ {
+ TPckg<TInt> handleBuf( aFbsBitmapHandle );
+ LOG1("RDirectPrintClient::GetJobTemplateIcon EGetJobTemplateIcon aTemplateID: %d", aTemplateID);
+ TInt err = SendReceive( EGetJobTemplateIcon, TIpcArgs( aTemplateID, &handleBuf ) );
+ LOG1("RDirectPrintClient::GetJobTemplateIcon aFbsBitmapHandle: %d", aFbsBitmapHandle);
+ LOG1("RDirectPrintClient::GetJobTemplateIcon end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetNumPreviewPages() const
+ {
+ LOG("RDirectPrintClient::GetNumPreviewPages EGetNumPreviewPages");
+ TInt pages = SendReceive( EGetNumPreviewPages );
+ LOG1("RDirectPrintClient::GetNumPreviewPages end with: %d", pages);
+ return pages;
+ }
+
+EXPORT_C TInt RDirectPrintClient::SetJobSetting( TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability ) const
+ {
+ TPckg<TInt> capBuf( aAffectedCapability );
+ LOG1("RDirectPrintClient::SetJobSetting ESetJobSetting aCapabilityID: %d", aCapabilityID);
+ LOG1("RDirectPrintClient::SetJobSetting ESetJobSetting aValue: %d", aValue);
+ TInt err = SendReceive( ESetJobSetting, TIpcArgs( aCapabilityID, aValue, &capBuf ) );
+ LOG1("RDirectPrintClient::SetJobSetting aAffectedCapability: %d", aAffectedCapability);
+ LOG1("RDirectPrintClient::SetJobSetting end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetJobSetting( TInt aCapabilityID, TInt& aValue ) const
+ {
+ TPckg<TInt> valueBuf( aValue );
+ LOG1("RDirectPrintClient::GetJobSetting EGetJobSetting aCapabilityID: %d", aCapabilityID);
+ TInt err = SendReceive( EGetJobSetting, TIpcArgs( aCapabilityID, &valueBuf ) );
+ LOG1("RDirectPrintClient::GetJobSetting aValue: %d", aValue);
+ LOG1("RDirectPrintClient::GetJobSetting end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetPrinterCapability(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability) const
+ {
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapability aPrinterID: %d", aPrinterID);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapability aCapabilityID: %d", aCapabilityID);
+ TInt err = SendReceive( EGetPrinterCapability, TIpcArgs( aPrinterID, aCapabilityID ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapability err: %d", err);
+
+ if( !err )
+ {
+ TInt capId;
+ TPckg<TInt> capIdBuf( capId );
+ LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapId");
+ err = SendReceive( EGetPrinterCapId, TIpcArgs( &capIdBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapId err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapId capId: %d", capId);
+ if( !err )
+ {
+ iCapability->iCapabilityID = capId;
+ }
+ }
+
+ if( !err )
+ {
+ TInt type;
+ TPckg<TInt> typeBuf( type );
+ LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapType");
+ err = SendReceive( EGetPrinterCapType, TIpcArgs( &typeBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapType err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapType type: %d", type);
+ if( !err )
+ {
+ iCapability->iType = static_cast<TDirectPrintCapability::ECapType>(type);
+ }
+ }
+
+ if( !err )
+ {
+ TInt def;
+ TPckg<TInt> defBuf( def );
+ LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapDef");
+ err = SendReceive( EGetPrinterCapDef, TIpcArgs( &defBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapDef err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapDef def: %d", def);
+ if( !err )
+ {
+ iCapability->iDefaultValue = def;
+ }
+ }
+
+ if( !err )
+ {
+ TInt low;
+ TPckg<TInt> lowBuf( low );
+ LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapLow");
+ err = SendReceive( EGetPrinterCapLow, TIpcArgs( &lowBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapLow err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapLow low: %d", low);
+ if( !err )
+ {
+ iCapability->iLow = low;
+ }
+ }
+
+ if( !err )
+ {
+ TInt high;
+ TPckg<TInt> highBuf( high );
+ LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapHigh");
+ err = SendReceive( EGetPrinterCapHigh, TIpcArgs( &highBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapHigh err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapHigh high: %d", high);
+ if( !err )
+ {
+ iCapability->iHigh = high;
+ }
+ }
+
+ if( !err )
+ {
+ TInt count;
+ TPckg<TInt> countBuf( count );
+ LOG("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnumCount");
+ err = SendReceive( EGetPrinterCapEnumCount, TIpcArgs( &countBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnumCount err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnumCount count: %d", count);
+
+ if( !err )
+ {
+ iCapability->iEnumCount = count;
+ for( TInt i = 0; i < count && ! err; i++ )
+ {
+ TInt value;
+ TPckg<TInt> valueBuf( value );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnum i: %d",i);
+ TInt err = SendReceive( EGetPrinterCapEnum, TIpcArgs( i, &valueBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnum err: %d", err);
+ LOG1("RDirectPrintClient::GetPrinterCapability EGetPrinterCapEnum value: %d", value);
+
+ if( !err )
+ {
+ iCapability->iEnumCodes[i] = value;
+ }
+ }
+ }
+ }
+
+ if( !err )
+ {
+ aCapability = *iCapability;
+ }
+
+ LOG1("RDirectPrintClient::GetPrinterCapability end with: %d", err);
+ return err;
+ }
+
+
+EXPORT_C TInt RDirectPrintClient::GetPrinterCapabilityIDs( TInt aPrinterID, RArray<TInt>& aCapabilityIDs ) const
+ {
+ TInt count;
+ TPckg<TInt> countBuf( count );
+
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityIDsCount aPrinterID: %d", aPrinterID);
+ TInt err = SendReceive( EGetPrinterCapabilityIDsCount, TIpcArgs( aPrinterID, &countBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityIDsCount err: %d", err);
+ if( !err )
+ {
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityIDsCount count: %d", count);
+ for( TInt i = 0; i < count && !err; i++ )
+ {
+ TInt capability;
+ TPckg<TInt> capBuf( capability );
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityID i: %d", i);
+ err = SendReceive( EGetPrinterCapabilityID, TIpcArgs( i, &capBuf ) );
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs EGetPrinterCapabilityID err: %d", err);
+ if( !err )
+ {
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs capability id: %d", capability);
+ err = aCapabilityIDs.Append( capability );
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs append err: %d", err);
+ }
+ }
+ }
+
+ LOG1("RDirectPrintClient::GetPrinterCapabilityIDs end with: %d", err);
+ return err;
+ }
+/*
+EXPORT_C TInt RDirectPrintClient::RegisterIdleObserver( TIdleGuardData& aData, TRequestStatus& aStatus )
+ {
+ LOG("RDirectPrintClient::RegisterIdleObserver EReserveEngine");
+ TInt err = SendReceive( EReserveEngine );
+ LOG1("RDirectPrintClient::RegisterIdleObserver EReserveEngine err: %d", err);
+ if( !err )
+ {
+ LOG("RDirectPrintClient::RegisterIdleObserver ERegisterIdleObserver");
+ iIdleDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
+ SendReceive( ERegisterIdleObserver, TIpcArgs( &iIdleDataPtr ), aStatus );
+ }
+ LOG1("RDirectPrintClient::RegisterIdleObserver end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::CancelRegisterIdleObserver() const
+ {
+ LOG("RDirectPrintClient::CancelRegisterIdleObserver ECancelRegisterIdleObserver");
+ TInt err = SendReceive( EReleaseEngine );
+ LOG1("RDirectPrintClient::RegisterIdleObserver EReleaseEngine err: %d", err);
+
+ err = SendReceive( ECancelRegisterIdleObserver );
+ LOG1("RDirectPrintClient::RegisterIdleObserver ECancelRegisterIdleObserver err: %d", err);
+
+ LOG1("RDirectPrintClient::CancelRegisterIdleObserver end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::StartDiscovery( TDiscoveryGuardData& aData, TUint aProtocols, TRequestStatus& aStatus )
+ {
+ LOG("RDirectPrintClient::StartDiscovery EReserveEngine");
+ TInt err = SendReceive( EReserveEngine );
+ LOG1("RDirectPrintClient::StartDiscovery EReserveEngine err: %d", err);
+ if( !err )
+ {
+ LOG1("RDirectPrintClient::StartDiscovery EStartDiscovery aProtocols: %d", aProtocols);
+ err = SendReceive( EStartDiscovery, TIpcArgs( aProtocols ) );
+ LOG1("RDirectPrintClient::StartDiscovery EStartDiscovery err: %d", err);
+ }
+ if( !err )
+ {
+ LOG("RDirectPrintClient::StartDiscovery EContinueDiscovery");
+ iDicsoveryDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
+ SendReceive( EContinueDiscovery, TIpcArgs( &iDicsoveryDataPtr ), aStatus );
+ }
+ LOG1("RDirectPrintClient::StartDiscovery end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::ContinueDiscovery( TDiscoveryGuardData& aData, TRequestStatus& aStatus )
+ {
+ LOG("RDirectPrintClient::ContinueDiscovery EReserveEngine");
+ TInt err = SendReceive( EReserveEngine );
+ LOG1("RDirectPrintClient::ContinueDiscovery EReserveEngine err: %d", err);
+ if( !err )
+ {
+ LOG("RDirectPrintClient::ContinueDiscovery EContinueDiscovery");
+ iDicsoveryDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
+ SendReceive( EContinueDiscovery, TIpcArgs( &iDicsoveryDataPtr ), aStatus );
+ }
+ LOG1("RDirectPrintClient::ContinueDiscovery end with: %d", err);
+ return err;
+ }
+*/
+EXPORT_C TInt RDirectPrintClient::CreateJob( TInt aPrinterID, TDirectPrintJobGuardData& aData, RPointerArray<TDesC>& aImages, TRequestStatus& aStatus )
+ {
+ LOG("RDirectPrintClient::CreateJob EReserveEngine");
+ TInt err = SendReceive( EReserveEngine );
+ LOG1("RDirectPrintClient::CreateJob EReserveEngine err: %d", err);
+ if( !err )
+ {
+ TInt count = aImages.Count();
+ LOG1("RDirectPrintClient::CreateJob aImages.Count(): %d", aImages.Count());
+ for( TInt i = 0; i < count && !err; i++ )
+ {
+ LOG("RDirectPrintClient::CreateJob EPrepareJob");
+ err = SendReceive( EPrepareJob, TIpcArgs( aImages[i] ) );
+ LOG1("RDirectPrintClient::CreateJob EPrepareJob err: %d", err);
+ }
+ }
+ if( !err )
+ {
+ LOG("RDirectPrintClient::CreateJob ECreateJob");
+ err = SendReceive( ECreateJob, TIpcArgs( aPrinterID ) );
+ LOG1("RDirectPrintClient::CreateJob ECreateJob err: %d", err);
+ }
+ if( !err )
+ {
+ LOG("RDirectPrintClient::CreateJob EContinueCreateJob");
+ iJobDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
+ SendReceive( EContinueCreateJob, TIpcArgs( &iJobDataPtr ), aStatus );
+ }
+ LOG1("RDirectPrintClient::CreateJob end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::ContinueCreateJob( TDirectPrintJobGuardData& aData, TRequestStatus& aStatus )
+ {
+ LOG("RDirectPrintClient::ContinueCreateJob EReserveEngine");
+ TInt err = SendReceive( EReserveEngine );
+ LOG1("RDirectPrintClient::ContinueCreateJob EReserveEngine err: %d", err);
+ if( !err )
+ {
+ LOG("RDirectPrintClient::ContinueCreateJob EContinueCreateJob");
+ iJobDataPtr.Set(reinterpret_cast<TUint8*>(&aData), sizeof(aData), sizeof(aData));
+ SendReceive( EContinueCreateJob, TIpcArgs( &iJobDataPtr ), aStatus );
+ }
+ LOG1("RDirectPrintClient::ContinueCreateJob end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::CancelStartDiscovery() const
+ {
+ LOG("RDirectPrintClient::CancelStartDiscovery ECancelStartDiscovery");
+ TInt err = SendReceive( ECancelStartDiscovery );
+ LOG1("RDirectPrintClient::CancelStartDiscovery end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::CancelCreateJob() const
+ {
+ LOG("RDirectPrintClient::CancelCreateJob ECancelCreateJob");
+ TInt err = SendReceive( ECancelCreateJob );
+ LOG1("RDirectPrintClient::CancelCreateJob end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::IsPictBridgeMode() const
+ {
+ LOG("RDirectPrintClient::IsPictBridgeMode EIsPictBridgeMode");
+#ifdef __WINS__
+ TInt err( KErrNotFound );
+#else
+ TInt err = SendReceive( EIsPictBridgeMode );
+#endif
+ LOG1("RDirectPrintClient::IsPictBridgeMode end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::SetNumberOfCopies( const RArray<TInt>& aArray ) const
+ {
+ LOG("RDirectPrintClient::SetNumberOfCopies EReserveEngine");
+ TInt err = SendReceive( EReserveEngine );
+ LOG1("RDirectPrintClient::SetNumberOfCopies EReserveEngine err: %d", err);
+ if( !err )
+ {
+ TInt count = aArray.Count();
+ LOG1("RDirectPrintClient::SetNumberOfCopies count: %d", count);
+ LOG("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopiesCount");
+ err = SendReceive( ESetNumberOfCopiesCount, TIpcArgs( count ) );
+ LOG1("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopiesCount err: %d", err);
+ for( TInt i = 0; i < count && !err; i++ )
+ {
+ LOG1("RDirectPrintClient::SetNumberOfCopies i: %d", i);
+ LOG("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopies");
+ err = SendReceive( ESetNumberOfCopies, TIpcArgs( aArray[i] ) );
+ LOG1("RDirectPrintClient::SetNumberOfCopies ESetNumberOfCopies err: %d", err);
+ }
+ }
+ LOG1("RDirectPrintClient::SetNumberOfCopies end with: %d", err);
+ return err;
+ }
+
+EXPORT_C TInt RDirectPrintClient::GetProtocolNames(RSelectItemArray& aNames) const
+ {
+ //TInt err = SendReceive( EReserveEngine );
+ TInt count;
+ TPckg<TInt> countBuf( count );
+
+ TInt err = SendReceive( EGetProtocolNamesCount, TIpcArgs( &countBuf ) );
+
+ if( !err )
+ {
+ aNames.Reset();
+
+ for( TInt i = 0; i < count && !err; i++ )
+ {
+ TDirectPrintSelectItem item;
+ //iNameDataPtr.Set(reinterpret_cast<TUint8*>(&item), sizeof(item), sizeof(item));
+ TPtr8 ptr(reinterpret_cast<TUint8*>(&item), sizeof(item), sizeof(item));
+ //err = SendReceive( EGetProtocolName, TIpcArgs( i, &iNameDataPtr ) );
+ err = SendReceive( EGetProtocolName, TIpcArgs( i, &ptr ) );
+ if( !err )
+ {
+ aNames.Append(item);
+ }
+ }
+ }
+
+ return err;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/group/bld.inf Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/group/bld.inf Tue May 11 14:10:02 2010 +0800
@@ -1,35 +1,35 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-
-//../rom/directprintserver.iby CORE_APP_LAYER_IBY_EXPORT_PATH( directprintserver.iby )
-
-../inc/directprintclientserver.h |../../inc/directprintclientserver.h
-../inc/directprintjobguarddata.h |../../inc/directprintjobguarddata.h
-../inc/directprintserveruid.h |../../inc/directprintserveruid.h
-
-PRJ_PLATFORMS
-WINSCW ARMV5 GCCE
-
-PRJ_MMPFILES
-directprintserver.mmp
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+
+//../rom/directprintserver.iby CORE_APP_LAYER_IBY_EXPORT_PATH( directprintserver.iby )
+
+../inc/directprintclientserver.h |../../inc/directprintclientserver.h
+../inc/directprintjobguarddata.h |../../inc/directprintjobguarddata.h
+../inc/directprintserveruid.h |../../inc/directprintserveruid.h
+
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
+
+PRJ_MMPFILES
+directprintserver.mmp
+
+// End of File
--- a/DirectPrint/DirectPrintServer/group/directprintserver.mmp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/group/directprintserver.mmp Tue May 11 14:10:02 2010 +0800
@@ -1,69 +1,69 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <bldvariant.hrh>
-#include <data_caging_paths.hrh>
-
-#include "../../inc/logdef.h"
-#include "../../inc/directprintserveruid.h"
-
-TARGET directprintserver.exe
-TARGETTYPE exe
-CAPABILITY ALL -TCB
-
-UID 0x1000008D KDIRECTPRINTSERVERUID3
-EPOCSTACKSIZE 0x5000
-EPOCHEAPSIZE 0x1000 0x1000000
-
-APP_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE . ../inc
-USERINCLUDE ../../ImagePrintLibrary/inc
-USERINCLUDE ../../inc
-
-SOURCEPATH ../src
-
-SOURCE main.cpp
-SOURCE directprintserver.cpp
-SOURCE directprintsession.cpp
-SOURCE directprintbody.cpp
-SOURCE directprintscheduler.cpp
-SOURCE directprintprotocolsloader.cpp
-SOURCE directprintrsimageparser.cpp
-SOURCE directprintserverjobguard.cpp
-SOURCE directprintnumofcopies.cpp
-SOURCE directprintmessage.cpp
-
-SOURCE directprintprotocolinfo.cpp
-
-STATICLIBRARY clog.lib
-LIBRARY flogger.lib
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY fbscli.lib
-LIBRARY ecom.lib
-LIBRARY centralrepository.lib
-
-#ifdef _DIRECTPRINT_USE_USB
-LIBRARY usbman.lib
-LIBRARY usbwatcher.lib
-#endif // _DIRECTPRINT_USE_USB
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <platform_paths.hrh>
+#include <bldvariant.hrh>
+#include <data_caging_paths.hrh>
+
+#include "../../inc/logdef.h"
+#include "../../inc/directprintserveruid.h"
+
+TARGET directprintserver.exe
+TARGETTYPE exe
+CAPABILITY ALL -TCB
+
+UID 0x1000008D KDIRECTPRINTSERVERUID3
+EPOCSTACKSIZE 0x5000
+EPOCHEAPSIZE 0x1000 0x1000000
+
+APP_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE . ../inc
+USERINCLUDE ../../ImagePrintLibrary/inc
+USERINCLUDE ../../inc
+
+SOURCEPATH ../src
+
+SOURCE main.cpp
+SOURCE directprintserver.cpp
+SOURCE directprintsession.cpp
+SOURCE directprintbody.cpp
+SOURCE directprintscheduler.cpp
+SOURCE directprintprotocolsloader.cpp
+SOURCE directprintrsimageparser.cpp
+SOURCE directprintserverjobguard.cpp
+SOURCE directprintnumofcopies.cpp
+SOURCE directprintmessage.cpp
+
+SOURCE directprintprotocolinfo.cpp
+
+STATICLIBRARY clog.lib
+LIBRARY flogger.lib
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY fbscli.lib
+LIBRARY ecom.lib
+LIBRARY centralrepository.lib
+
+#ifdef _DIRECTPRINT_USE_USB
+LIBRARY usbman.lib
+LIBRARY usbwatcher.lib
+#endif // _DIRECTPRINT_USE_USB
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintbody.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintbody.h Tue May 11 14:10:02 2010 +0800
@@ -1,294 +1,294 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the CDirectPrintBody class definition.
-*
-*/
-
-
-// Protection against nested includes
-#ifndef CDIRECTPRINTBODY_H
-#define CDIRECTPRINTBODY_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "imageprint.h"
-#include "directprintprotocolsloader.h"
-#include "directprintscheduler.h"
-#include "mprotprintingdevice.h"
-
-// Forward declarations
-class TDpMessage;
-
-/**
- *
- * This class is in charge of discoverying devices across the protocols available, of creating
- * a print job in the right printer and right protocol, etc. It can be considered a controller.
- * Implements the MProtPrintingDevice observers (MProtDiscoveryObserver, MProtPrintEventObserver) so it can act
- * accordingly when the protocols report or need something.
- */
-class CDirectPrintBody : public CBase, public MProtDiscoveryObserver, public MProtPrintEventObserver, public MProtIdleObserver
- {
- public:
-
- /**
- * 2-phase constructor
- *
- * @return new object
- */
- static CDirectPrintBody* NewL();
-
- /**
- * Destructor
- */
- ~CDirectPrintBody();
-
- /**
- * Start discovery for one or several protocols
- *
- * @param aObserver observer for notifications about discovery events
- * @param aProtocols OR:ed protocol ids
- * @return error code
- */
- TInt StartDiscovery(MPrinterDiscoveryObserver& aObserver, TUint aProtocols = 0);
-
- /**
- * Cancel discovery
- */
- void CancelDiscovery();
-
- /**
- * Creates print job
- *
- * @param aPrinterID printer id
- * @param aImages array of image file names to be printed
- * @param aObserver observer for notifications about print job events
- * @return error code
- */
- TInt CreatePrintJobL(TInt aPrinterID, RPointerArray<TDesC>& aImages, MPrintEventObserver& aObserver);
-
- /**
- * Start actual printing of previously created print job
- */
- void SubmitPrintJobL();
-
- /**
- * Cancel print job
- *
- * @return error code
- */
- TInt CancelPrintJob();
-
- /**
- * Continue print job
- *
- * @return error code
- */
- TInt ContinuePrintJobL();
-
- /**
- * Print pages amount getter
- *
- * @return amount of print pages with current settings for current print job
- */
- TInt GetNumPrintPages();
-
- /**
- * Job status getter
- *
- * @return job status code
- */
- TInt GetJobStatus();
-
- /**
- * Printer status getter
- *
- * @param aPrinterID printer id
- * @return printer status code
- */
- TInt GetPrinterStatus(TInt aPrinterID);
-
- /**
- * Printer capability id getter
- *
- * @param aPrinterID printer id
- * @param aCapabilityIDs place holder for capability ids supported by printer
- * @return error code
- */
- TInt GetPrinterCapabilityIDsL(TInt aPrinterID, RArray<TInt>& aCapabilityIDs);
-
- /**
- * Printer capability getter
- *
- * @param aPrinterID printer id
- * @param aCapabilityID capability id
- * @param aCapability place holder for capability
- * @return error code
- */
- TInt GetPrinterCapabilityL(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability);
-
- /**
- * Printer setting getter
- *
- * @param aCapabilityID capability id
- * @param aValue place holder for capability value
- * @return error code
- */
- TInt GetJobSetting(TInt aCapabilityID, TInt& aValue);
-
- /**
- * Printer setting setter
- *
- * @param aCapabilityID capability id
- * @param aValue capability value
- * @param aAffectedCapability affected capability id
- * @return error code
- */
- TInt SetJobSettingL(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability);
-
- /**
- * Preview pages amount getter for current protocol
- *
- * @return preview pages amount
- */
- TInt GetNumPreviewPages();
-
- /**
- * Template icon getter
- *
- * @param aTemplateID template id
- * @param aFbsBitmapHandle place holder for template bitmap handle
- * @return error code
- */
- TInt GetJobTemplateIconL(TInt aTemplateID, TInt& aFbsBitmapHandle);
-
- /**
- *Creates a preview image
- *
- * @param aPageNumber Page number to create preview image of
- * @return error code
- */
- TInt CreatePreviewImage(TInt aPageNumber);
-
- /**
- * Remove cached printer
- *
- * @param aPrinterID printer id
- * @return error code
- */
- TInt RemoveCachedPrinterL(TInt aPrinterID);
-
- /**
- * Supported protocols getter
- *
- * @return OR:ed protocol ids
- */
- TUint SupportedProtocols();
-
- /**
- * Register observer for idle events receiving
- *
- * @param aObserver observer
- */
- void RegisterIdleObserver(MIdleObserver* aObserver);
-
- /**
- * Number of copies setter for current print job
- *
- * @param aNumsOfCopies number of copies array
- * @param aErr place holder for error code
- */
- void SetNumsOfCopiesL(const RArray<TInt>& aNumsOfCopies, TInt& aErr);
-
- /**
- * Handle session disconnection
- *
- * @param aIdleObserver idle observer object of that session
- * @param aDiscoveryObserver discovery observer object of that session
- * @param aEventObserver print job observer object of that session
- */
- void HandleSessionDisconnect( const MIdleObserver* aIdleObserver,
- const MPrinterDiscoveryObserver* aDiscoveryObserver,
- const MPrintEventObserver* aEventObserver );
-
- /**
- * Number of protocols getter
- *
- * @return number of protocols
- */
- TInt ProtocolCount();
-
- /**
- * Protocol name getter
- *
- * @param aMessage message completed upon event arrival
- * @return error code
- */
- TInt GetProtocolNameL(TDpMessage& aMessage);
-
-
- private: // from MProtDiscoveryObserver
- void FoundDeviceL(TPrinter& aDeviceInfo);
- void DiscoveryStatusL(TInt aStatus, TInt aErrorCode, TInt aErrorStringCode);
- void RemoveDeviceL(TPrinter& aDeviceInfo);
-
- private: // from MProtPrintEventObserver
- void PrintJobProgressEvent(TInt aStatus, TInt aPercent, TInt aJobStateCode);
- void PrintJobErrorEvent(TInt aErrorCode, TInt aErrorStringCode);
- void PrinterStatusEvent(TInt aErrorCode, TInt aErrorStringCode);
- void PreviewImageEvent(TInt aFsBitmapHandle);
- void ShowMessageL(TInt aMsgLine1Code, TInt aMsgLine2Code);
- TBool AskYesNoQuestionL(TInt aMsgLine1Code, TInt aMsgLine2Code);
- const TDesC& AskForInputL(TInt aMsgLine1Code, TInt aMsgLine2Code);
-
- private: // from MProtIdleObserver
- void StatusEvent(const TEvent &aEvent, TInt aError, TInt aMsgCode);
-
- private:
- CDirectPrintBody();
- void ConstructL();
- TInt FindInternalDeviceReference(TInt aExternalDeviceID, TInt& aInternalDeviceID, MProtPrintingDevice*& aProtToUse);
- TInt ValidateImagesL(const RPointerArray<HBufC>& aImageList, TInt &aInvalidCount);
- CDirectPrintScheduler& ActiveScheduler() const;
- void TryNextDiscovery();
- static TInt TryNextDiscoveryL(TAny* aObj);
- void DoTryNextDiscoveryL();
-
- private:
- /// Class loader and manager.
- CDirectPrintProtocolsLoader* iClassLoader;
- /// Pointer to store the current protocol in use for discovery.
- MProtPrintingDevice* iCurrentProtocol;
- /// Pointer to store the current protocol in use for creating a print job.
- MProtPrintingDevice* iCurrentPrintJobProtocol;
- /// DirectPrint Observer.
- MPrinterDiscoveryObserver* iPrinterDiscoveryObserver;
- /// DirectPrint Observer.
- MPrintEventObserver* iPrinterPrintEventObserver;
- /// DirectPrint Idle Observer.
- MIdleObserver* iPrinterIdleObserver;
- /// Used to store the requested protocols.
- TUint iProtocolsRequested;
- /// Array of the image filenames to print.
- RPointerArray<HBufC> iImageFileNames;
- /// Enables async discovery
- CIdle* iIdleDiscovery;
-
- TBool iDiscoveryCancelled;
- };
-
-#endif // CDIRECTPRINTBODY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the CDirectPrintBody class definition.
+*
+*/
+
+
+// Protection against nested includes
+#ifndef CDIRECTPRINTBODY_H
+#define CDIRECTPRINTBODY_H
+
+// System includes
+#include <e32base.h>
+
+// User includes
+#include "imageprint.h"
+#include "directprintprotocolsloader.h"
+#include "directprintscheduler.h"
+#include "mprotprintingdevice.h"
+
+// Forward declarations
+class TDpMessage;
+
+/**
+ *
+ * This class is in charge of discoverying devices across the protocols available, of creating
+ * a print job in the right printer and right protocol, etc. It can be considered a controller.
+ * Implements the MProtPrintingDevice observers (MProtDiscoveryObserver, MProtPrintEventObserver) so it can act
+ * accordingly when the protocols report or need something.
+ */
+class CDirectPrintBody : public CBase, public MProtDiscoveryObserver, public MProtPrintEventObserver, public MProtIdleObserver
+ {
+ public:
+
+ /**
+ * 2-phase constructor
+ *
+ * @return new object
+ */
+ static CDirectPrintBody* NewL();
+
+ /**
+ * Destructor
+ */
+ ~CDirectPrintBody();
+
+ /**
+ * Start discovery for one or several protocols
+ *
+ * @param aObserver observer for notifications about discovery events
+ * @param aProtocols OR:ed protocol ids
+ * @return error code
+ */
+ TInt StartDiscovery(MPrinterDiscoveryObserver& aObserver, TUint aProtocols = 0);
+
+ /**
+ * Cancel discovery
+ */
+ void CancelDiscovery();
+
+ /**
+ * Creates print job
+ *
+ * @param aPrinterID printer id
+ * @param aImages array of image file names to be printed
+ * @param aObserver observer for notifications about print job events
+ * @return error code
+ */
+ TInt CreatePrintJobL(TInt aPrinterID, RPointerArray<TDesC>& aImages, MPrintEventObserver& aObserver);
+
+ /**
+ * Start actual printing of previously created print job
+ */
+ void SubmitPrintJobL();
+
+ /**
+ * Cancel print job
+ *
+ * @return error code
+ */
+ TInt CancelPrintJob();
+
+ /**
+ * Continue print job
+ *
+ * @return error code
+ */
+ TInt ContinuePrintJobL();
+
+ /**
+ * Print pages amount getter
+ *
+ * @return amount of print pages with current settings for current print job
+ */
+ TInt GetNumPrintPages();
+
+ /**
+ * Job status getter
+ *
+ * @return job status code
+ */
+ TInt GetJobStatus();
+
+ /**
+ * Printer status getter
+ *
+ * @param aPrinterID printer id
+ * @return printer status code
+ */
+ TInt GetPrinterStatus(TInt aPrinterID);
+
+ /**
+ * Printer capability id getter
+ *
+ * @param aPrinterID printer id
+ * @param aCapabilityIDs place holder for capability ids supported by printer
+ * @return error code
+ */
+ TInt GetPrinterCapabilityIDsL(TInt aPrinterID, RArray<TInt>& aCapabilityIDs);
+
+ /**
+ * Printer capability getter
+ *
+ * @param aPrinterID printer id
+ * @param aCapabilityID capability id
+ * @param aCapability place holder for capability
+ * @return error code
+ */
+ TInt GetPrinterCapabilityL(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability);
+
+ /**
+ * Printer setting getter
+ *
+ * @param aCapabilityID capability id
+ * @param aValue place holder for capability value
+ * @return error code
+ */
+ TInt GetJobSetting(TInt aCapabilityID, TInt& aValue);
+
+ /**
+ * Printer setting setter
+ *
+ * @param aCapabilityID capability id
+ * @param aValue capability value
+ * @param aAffectedCapability affected capability id
+ * @return error code
+ */
+ TInt SetJobSettingL(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability);
+
+ /**
+ * Preview pages amount getter for current protocol
+ *
+ * @return preview pages amount
+ */
+ TInt GetNumPreviewPages();
+
+ /**
+ * Template icon getter
+ *
+ * @param aTemplateID template id
+ * @param aFbsBitmapHandle place holder for template bitmap handle
+ * @return error code
+ */
+ TInt GetJobTemplateIconL(TInt aTemplateID, TInt& aFbsBitmapHandle);
+
+ /**
+ *Creates a preview image
+ *
+ * @param aPageNumber Page number to create preview image of
+ * @return error code
+ */
+ TInt CreatePreviewImage(TInt aPageNumber);
+
+ /**
+ * Remove cached printer
+ *
+ * @param aPrinterID printer id
+ * @return error code
+ */
+ TInt RemoveCachedPrinterL(TInt aPrinterID);
+
+ /**
+ * Supported protocols getter
+ *
+ * @return OR:ed protocol ids
+ */
+ TUint SupportedProtocols();
+
+ /**
+ * Register observer for idle events receiving
+ *
+ * @param aObserver observer
+ */
+ void RegisterIdleObserver(MIdleObserver* aObserver);
+
+ /**
+ * Number of copies setter for current print job
+ *
+ * @param aNumsOfCopies number of copies array
+ * @param aErr place holder for error code
+ */
+ void SetNumsOfCopiesL(const RArray<TInt>& aNumsOfCopies, TInt& aErr);
+
+ /**
+ * Handle session disconnection
+ *
+ * @param aIdleObserver idle observer object of that session
+ * @param aDiscoveryObserver discovery observer object of that session
+ * @param aEventObserver print job observer object of that session
+ */
+ void HandleSessionDisconnect( const MIdleObserver* aIdleObserver,
+ const MPrinterDiscoveryObserver* aDiscoveryObserver,
+ const MPrintEventObserver* aEventObserver );
+
+ /**
+ * Number of protocols getter
+ *
+ * @return number of protocols
+ */
+ TInt ProtocolCount();
+
+ /**
+ * Protocol name getter
+ *
+ * @param aMessage message completed upon event arrival
+ * @return error code
+ */
+ TInt GetProtocolNameL(TDpMessage& aMessage);
+
+
+ private: // from MProtDiscoveryObserver
+ void FoundDeviceL(TPrinter& aDeviceInfo);
+ void DiscoveryStatusL(TInt aStatus, TInt aErrorCode, TInt aErrorStringCode);
+ void RemoveDeviceL(TPrinter& aDeviceInfo);
+
+ private: // from MProtPrintEventObserver
+ void PrintJobProgressEvent(TInt aStatus, TInt aPercent, TInt aJobStateCode);
+ void PrintJobErrorEvent(TInt aErrorCode, TInt aErrorStringCode);
+ void PrinterStatusEvent(TInt aErrorCode, TInt aErrorStringCode);
+ void PreviewImageEvent(TInt aFsBitmapHandle);
+ void ShowMessageL(TInt aMsgLine1Code, TInt aMsgLine2Code);
+ TBool AskYesNoQuestionL(TInt aMsgLine1Code, TInt aMsgLine2Code);
+ const TDesC& AskForInputL(TInt aMsgLine1Code, TInt aMsgLine2Code);
+
+ private: // from MProtIdleObserver
+ void StatusEvent(const TEvent &aEvent, TInt aError, TInt aMsgCode);
+
+ private:
+ CDirectPrintBody();
+ void ConstructL();
+ TInt FindInternalDeviceReference(TInt aExternalDeviceID, TInt& aInternalDeviceID, MProtPrintingDevice*& aProtToUse);
+ TInt ValidateImagesL(const RPointerArray<HBufC>& aImageList, TInt &aInvalidCount);
+ CDirectPrintScheduler& ActiveScheduler() const;
+ void TryNextDiscovery();
+ static TInt TryNextDiscoveryL(TAny* aObj);
+ void DoTryNextDiscoveryL();
+
+ private:
+ /// Class loader and manager.
+ CDirectPrintProtocolsLoader* iClassLoader;
+ /// Pointer to store the current protocol in use for discovery.
+ MProtPrintingDevice* iCurrentProtocol;
+ /// Pointer to store the current protocol in use for creating a print job.
+ MProtPrintingDevice* iCurrentPrintJobProtocol;
+ /// DirectPrint Observer.
+ MPrinterDiscoveryObserver* iPrinterDiscoveryObserver;
+ /// DirectPrint Observer.
+ MPrintEventObserver* iPrinterPrintEventObserver;
+ /// DirectPrint Idle Observer.
+ MIdleObserver* iPrinterIdleObserver;
+ /// Used to store the requested protocols.
+ TUint iProtocolsRequested;
+ /// Array of the image filenames to print.
+ RPointerArray<HBufC> iImageFileNames;
+ /// Enables async discovery
+ CIdle* iIdleDiscovery;
+
+ TBool iDiscoveryCancelled;
+ };
+
+#endif // CDIRECTPRINTBODY_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintclientserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintclientserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,84 +1,84 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTCLIENTSERVER_H
-#define DIRECTPRINTCLIENTSERVER_H
-
-// System include files
-#include <e32std.h>
-
-// User include files
-#include "directprintserveruid.h"
-
-_LIT( KDirectPrintServerName, "directprintserver" );
-_LIT( KDirectPrintServerImg, "directprintserver" ); // EXE name
-
-const TInt KMaxDirectPrintMessage = 512;
-const TInt KDirectPrintServerMajor = 0;
-const TInt KDirectPrintServerMinor = 0;
-const TInt KDirectPrintServerBuild = 0;
-
-enum TDirectPrintMessages
- {
- ECountConnections = 0,
- ESetForeground,
- EReserveEngine,
- EReleaseEngine,
- ESupportedProtocols,
- EGetNumPrintPages,
- EGetJobStatus,
- EGetPrinterStatus,
- ECancelDiscovery,
- ESubmitPrintJob,
- ECancelPrintJob, // 10
- EContinuePrintJob,
- ERemoveCachedPrinter,
- EGetJobTemplateIcon,
- EGetNumPreviewPages,
- ESetJobSetting,
- EGetJobSetting,
- EGetPrinterCapability,
- EGetPrinterCapId,
- EGetPrinterCapType,
- EGetPrinterCapDef, // 20
- EGetPrinterCapLow,
- EGetPrinterCapHigh,
- EGetPrinterCapEnumCount,
- EGetPrinterCapEnum,
- EGetPrinterCapabilityIDsCount,
- EGetPrinterCapabilityID,
- ERegisterIdleObserver,
- ECancelRegisterIdleObserver,
- EStartDiscovery,
- EContinueDiscovery, // 30
- EPrepareJob,
- ECreateJob,
- EContinueCreateJob,
- ECancelStartDiscovery,
- ECancelCreateJob,
- EIsPictBridgeMode,
- ESetNumberOfCopiesCount,
- ESetNumberOfCopies, // 38
- EGetProtocolNamesCount,
- EGetProtocolName
- };
-
-#endif// DIRECTPRINTCLIENTSERVER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTCLIENTSERVER_H
+#define DIRECTPRINTCLIENTSERVER_H
+
+// System include files
+#include <e32std.h>
+
+// User include files
+#include "directprintserveruid.h"
+
+_LIT( KDirectPrintServerName, "directprintserver" );
+_LIT( KDirectPrintServerImg, "directprintserver" ); // EXE name
+
+const TInt KMaxDirectPrintMessage = 512;
+const TInt KDirectPrintServerMajor = 0;
+const TInt KDirectPrintServerMinor = 0;
+const TInt KDirectPrintServerBuild = 0;
+
+enum TDirectPrintMessages
+ {
+ ECountConnections = 0,
+ ESetForeground,
+ EReserveEngine,
+ EReleaseEngine,
+ ESupportedProtocols,
+ EGetNumPrintPages,
+ EGetJobStatus,
+ EGetPrinterStatus,
+ ECancelDiscovery,
+ ESubmitPrintJob,
+ ECancelPrintJob, // 10
+ EContinuePrintJob,
+ ERemoveCachedPrinter,
+ EGetJobTemplateIcon,
+ EGetNumPreviewPages,
+ ESetJobSetting,
+ EGetJobSetting,
+ EGetPrinterCapability,
+ EGetPrinterCapId,
+ EGetPrinterCapType,
+ EGetPrinterCapDef, // 20
+ EGetPrinterCapLow,
+ EGetPrinterCapHigh,
+ EGetPrinterCapEnumCount,
+ EGetPrinterCapEnum,
+ EGetPrinterCapabilityIDsCount,
+ EGetPrinterCapabilityID,
+ ERegisterIdleObserver,
+ ECancelRegisterIdleObserver,
+ EStartDiscovery,
+ EContinueDiscovery, // 30
+ EPrepareJob,
+ ECreateJob,
+ EContinueCreateJob,
+ ECancelStartDiscovery,
+ ECancelCreateJob,
+ EIsPictBridgeMode,
+ ESetNumberOfCopiesCount,
+ ESetNumberOfCopies, // 38
+ EGetProtocolNamesCount,
+ EGetProtocolName
+ };
+
+#endif// DIRECTPRINTCLIENTSERVER_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintjobguarddata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintjobguarddata.h Tue May 11 14:10:02 2010 +0800
@@ -1,51 +1,51 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTJOBGUARDDATA_H
-#define DIRECTPRINTJOBGUARDDATA_H
-
-// System includes
-#include <e32def.h>
-
-class TDirectPrintJobGuardData
- {
-public:
-
- enum TCallbackNum
- {
- EProgressEventCb = 0,
- EErrorEventCb,
- EStatusEventCb,
- EImageEventCb
- };
-
-public:
-
- TInt iStatus;
- TInt iPercentCompletion;
- TInt iJobStateCode;
- TInt iError;
- TInt iErrorStringCode;
- TInt iFsBitmapHandle;
- TCallbackNum iCb;
- };
-
-#endif // DIRECTPRINTJOBGUARDDATA_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTJOBGUARDDATA_H
+#define DIRECTPRINTJOBGUARDDATA_H
+
+// System includes
+#include <e32def.h>
+
+class TDirectPrintJobGuardData
+ {
+public:
+
+ enum TCallbackNum
+ {
+ EProgressEventCb = 0,
+ EErrorEventCb,
+ EStatusEventCb,
+ EImageEventCb
+ };
+
+public:
+
+ TInt iStatus;
+ TInt iPercentCompletion;
+ TInt iJobStateCode;
+ TInt iError;
+ TInt iErrorStringCode;
+ TInt iFsBitmapHandle;
+ TCallbackNum iCb;
+ };
+
+#endif // DIRECTPRINTJOBGUARDDATA_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintmessage.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintmessage.h Tue May 11 14:10:02 2010 +0800
@@ -1,136 +1,136 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef TMESSAGEWRP2_H
-#define TMESSAGEWRP2_H
-
-#include <e32base.h>
-
-class TDpMessage
- {
- public:
-
- /**
- * Message wrapper constructor
- *
- * @param aMessage message to be wrapped
- * @param aConnected session connection flag
- */
- TDpMessage( const RMessage2& aMessage, const TBool& aConnected );
-
- public:
-
- /**
- * If session connected, write descriptor to the wrapped message
- *
- * @param aParam message parameter id
- * @param aDes descriptor
- * @param aOffset offset from the start of the client's descriptor
- */
- void WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset=0) const;
-
- /**
- * If session connected, complete the wrapped message
- *
- * @param aReason completion code
- */
- void Complete(TInt aReason) const;
-
- /**
- * If session connected, gets the 1st message argument as an integer value
- *
- * @return 1st message argument as an integer value
- */
- TInt Int0() const;
-
- /**
- * If session connected, gets the 2nd message argument as an integer value
- *
- * @return 2nd message argument as an integer value
- */
- TInt Int1() const;
-
- /**
- * If session connected, gets the length of a descriptor argument
- * in the client's process
- *
- * @param aParam index value identifying the argument
- * @return the length of the descriptor or error code
- */
- TInt GetDesLength(TInt aParam) const;
-
- /**
- * If session connected, read data from the specified offset within
- * the 8-bit descriptor argument, into the specified target descriptor
- *
- * @param aParam message parameter id
- * @param aDes target descriptor
- * @param aOffset offset from the start of the client's descriptor
- */
- void ReadL(TInt aParam, TDes8 &aDes, TInt aOffset=0) const;
-
- /**
- * If session connected, read data from the specified offset within
- * the 16-bit descriptor argument, into the specified target descriptor
- *
- * @param aParam message parameter id
- * @param aDes target descriptor
- * @param aOffset offset from the start of the client's descriptor
- */
- void ReadL(TInt aParam, TDes16 &aDes, TInt aOffset=0) const;
-
- /**
- * Panic the client thread
- *
- * @param aCategory category descriptor
- * @param aReason reason id
- */
- void Panic(const TDesC &aCategory, TInt aReason) const;
-
- /**
- * Gets the the number of the function requested by the client
- *
- * @return the function number
- */
- TInt Function() const;
-
- /**
- * Sets the disposable state. Disposable means that the message needs not
- * to be preserved
- *
- * @param aDisposable disposable flag
- */
- void SetDisposable( TBool aDisposable );
-
- /**
- * Gets the disposable state
- *
- * @return the disposable flag
- */
- TBool Disposable() const;
-
- private: // data
- RMessage2 iMessage;
- const TBool& iConnected;
- TBool iDisposable;
- };
-
-
-#endif // TMESSAGEWRP2_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef TMESSAGEWRP2_H
+#define TMESSAGEWRP2_H
+
+#include <e32base.h>
+
+class TDpMessage
+ {
+ public:
+
+ /**
+ * Message wrapper constructor
+ *
+ * @param aMessage message to be wrapped
+ * @param aConnected session connection flag
+ */
+ TDpMessage( const RMessage2& aMessage, const TBool& aConnected );
+
+ public:
+
+ /**
+ * If session connected, write descriptor to the wrapped message
+ *
+ * @param aParam message parameter id
+ * @param aDes descriptor
+ * @param aOffset offset from the start of the client's descriptor
+ */
+ void WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset=0) const;
+
+ /**
+ * If session connected, complete the wrapped message
+ *
+ * @param aReason completion code
+ */
+ void Complete(TInt aReason) const;
+
+ /**
+ * If session connected, gets the 1st message argument as an integer value
+ *
+ * @return 1st message argument as an integer value
+ */
+ TInt Int0() const;
+
+ /**
+ * If session connected, gets the 2nd message argument as an integer value
+ *
+ * @return 2nd message argument as an integer value
+ */
+ TInt Int1() const;
+
+ /**
+ * If session connected, gets the length of a descriptor argument
+ * in the client's process
+ *
+ * @param aParam index value identifying the argument
+ * @return the length of the descriptor or error code
+ */
+ TInt GetDesLength(TInt aParam) const;
+
+ /**
+ * If session connected, read data from the specified offset within
+ * the 8-bit descriptor argument, into the specified target descriptor
+ *
+ * @param aParam message parameter id
+ * @param aDes target descriptor
+ * @param aOffset offset from the start of the client's descriptor
+ */
+ void ReadL(TInt aParam, TDes8 &aDes, TInt aOffset=0) const;
+
+ /**
+ * If session connected, read data from the specified offset within
+ * the 16-bit descriptor argument, into the specified target descriptor
+ *
+ * @param aParam message parameter id
+ * @param aDes target descriptor
+ * @param aOffset offset from the start of the client's descriptor
+ */
+ void ReadL(TInt aParam, TDes16 &aDes, TInt aOffset=0) const;
+
+ /**
+ * Panic the client thread
+ *
+ * @param aCategory category descriptor
+ * @param aReason reason id
+ */
+ void Panic(const TDesC &aCategory, TInt aReason) const;
+
+ /**
+ * Gets the the number of the function requested by the client
+ *
+ * @return the function number
+ */
+ TInt Function() const;
+
+ /**
+ * Sets the disposable state. Disposable means that the message needs not
+ * to be preserved
+ *
+ * @param aDisposable disposable flag
+ */
+ void SetDisposable( TBool aDisposable );
+
+ /**
+ * Gets the disposable state
+ *
+ * @return the disposable flag
+ */
+ TBool Disposable() const;
+
+ private: // data
+ RMessage2 iMessage;
+ const TBool& iConnected;
+ TBool iDisposable;
+ };
+
+
+#endif // TMESSAGEWRP2_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintnumofcopies.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintnumofcopies.h Tue May 11 14:10:02 2010 +0800
@@ -1,79 +1,79 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTNUMOFCOPIES_H
-#define DIRECTPRINTNUMOFCOPIES_H
-
-// System includes
-#include <e32base.h>
-
-class CDirectPrintNumOfCopies : public CBase
- {
- public:
-
- /**
- * 2-phase constructor
- *
- * @return new object
- */
- static CDirectPrintNumOfCopies* NewL();
-
- /**
- * Destructor
- */
- ~CDirectPrintNumOfCopies();
-
- private:
- CDirectPrintNumOfCopies();
- void ConstructL();
-
- public:
-
- /**
- * Set the amount of coming array elements
- *
- * @param aCount amount of coming array elements
- */
- void Reset( TInt aCount );
-
- /**
- * Append next element to the array
- *
- * @param aNumOfCopies number of copies array element
- * @param aFull place holder for value which indicates that
- * all elements are added to the array
- */
- void AddNumOfCopyL( TInt aNumOfCopies, TBool& aFull );
-
- /**
- * Number of copies array getter
- *
- * @return number of copies array
- */
- const RArray<TInt>& NumsOfCopies() const;
-
- private: // data
- TInt iCount;
- RArray<TInt> iNumsOfCopies;
- };
-
-
-#endif // DIRECTPRINTNUMOFCOPIES_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTNUMOFCOPIES_H
+#define DIRECTPRINTNUMOFCOPIES_H
+
+// System includes
+#include <e32base.h>
+
+class CDirectPrintNumOfCopies : public CBase
+ {
+ public:
+
+ /**
+ * 2-phase constructor
+ *
+ * @return new object
+ */
+ static CDirectPrintNumOfCopies* NewL();
+
+ /**
+ * Destructor
+ */
+ ~CDirectPrintNumOfCopies();
+
+ private:
+ CDirectPrintNumOfCopies();
+ void ConstructL();
+
+ public:
+
+ /**
+ * Set the amount of coming array elements
+ *
+ * @param aCount amount of coming array elements
+ */
+ void Reset( TInt aCount );
+
+ /**
+ * Append next element to the array
+ *
+ * @param aNumOfCopies number of copies array element
+ * @param aFull place holder for value which indicates that
+ * all elements are added to the array
+ */
+ void AddNumOfCopyL( TInt aNumOfCopies, TBool& aFull );
+
+ /**
+ * Number of copies array getter
+ *
+ * @return number of copies array
+ */
+ const RArray<TInt>& NumsOfCopies() const;
+
+ private: // data
+ TInt iCount;
+ RArray<TInt> iNumsOfCopies;
+ };
+
+
+#endif // DIRECTPRINTNUMOFCOPIES_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintprotocolinfo.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintprotocolinfo.h Tue May 11 14:10:02 2010 +0800
@@ -1,54 +1,54 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTPROTOCOLINFO_H__
-#define __DIRECTPRINTPROTOCOLINFO_H__
-
-// System includes
-#include <e32base.h>
-#include <ecom/ImplementationInformation.h>
-
-// Class declaration
-/**
- * Listbox class
- * more_complete_description
- */
-class CDirectPrintProtocolInfo : public CBase
- {
-public:
- /** Constructors */
- static CDirectPrintProtocolInfo* NewLC(const CImplementationInformation& aImplInfo);
- /** Destructor */
- ~CDirectPrintProtocolInfo();
-
- TUid ImplementationUid() const;
-
- const TDesC& DisplayName() const;
-
-private:
- CDirectPrintProtocolInfo();
-
-private:
- /** The implementation UID */
- TUid iImplementationUid;
- /** Display name */
- HBufC* iDisplayName;
- };
-
-#endif // __DIRECTPRINTPROTOCOLINFO_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTPROTOCOLINFO_H__
+#define __DIRECTPRINTPROTOCOLINFO_H__
+
+// System includes
+#include <e32base.h>
+#include <ecom/ImplementationInformation.h>
+
+// Class declaration
+/**
+ * Listbox class
+ * more_complete_description
+ */
+class CDirectPrintProtocolInfo : public CBase
+ {
+public:
+ /** Constructors */
+ static CDirectPrintProtocolInfo* NewLC(const CImplementationInformation& aImplInfo);
+ /** Destructor */
+ ~CDirectPrintProtocolInfo();
+
+ TUid ImplementationUid() const;
+
+ const TDesC& DisplayName() const;
+
+private:
+ CDirectPrintProtocolInfo();
+
+private:
+ /** The implementation UID */
+ TUid iImplementationUid;
+ /** Display name */
+ HBufC* iDisplayName;
+ };
+
+#endif // __DIRECTPRINTPROTOCOLINFO_H__
--- a/DirectPrint/DirectPrintServer/inc/directprintprotocolsloader.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintprotocolsloader.h Tue May 11 14:10:02 2010 +0800
@@ -1,114 +1,114 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the CDirectPrintProtocolsLoader class definition.
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTPROTOCOLSLOADER_H
-#define DIRECTPRINTPROTOCOLSLOADER_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "directprintprotocolinfo.h"
-
-// Forward declarations
-class MProtPrintingDevice;
-
-class CDirectPrintProtocolsLoader : public CBase
- {
- public:
-
- static CDirectPrintProtocolsLoader* NewL();
- ~CDirectPrintProtocolsLoader();
-
- /**
- * Gets the number of protocol implementations that could be loaded.
- * @return Number of protocols available.
- */
- TInt GetNumberOfProtocolsAvailable() const;
-
- /**
- * Gets the next protocol in the internal list of protocols.
- *
- * Returns a pointer to the next protocol in the list. If the end of the list is reached, it starts the list over.
- * The order in which protocols will be returned is: DPOF, BPP, PictBridge, any other protocols (sorted alpha-
- * betically). This pointer should not be deleted.
- * @return Pointer to the next protocol instance.
- */
- MProtPrintingDevice* GetNextProtocol();
-
- /**
- * Gets the protocol located in the position specified.
- * @param aIndex Index of the desired protocol. If there are 3 protocols, the valid indexes are: 0, 1, 2.
- * @return Pointer to the next protocol instance. This pointer should not be deleted.
- */
- MProtPrintingDevice* GetProtocolAt(TInt aIndex);
-
- /**
- * Resets the inner pointers to the beginning of the protocols' list.
- */
- void Reset();
-
- /**
- * Returns the index of the current protocol
- */
- TInt GetProtocolIndex() const;
-
- /**
- * @brief Returns the Protocols supported by the DLL. It can be any of the KDirectPrint_PrinterProtocol* constants.
- * @return An OR'ed value with the supported protocols information.
- */
- TUint SupportedProtocols() const;
-
- /**
- * Gets the protocol name in the position specified.
- * @param aIndex Index of the desired protocol. If there are 3 protocols, the valid indexes are: 0, 1, 2.
- * @param aName Name of the protocol.
- * @param aUid Uid of the protocol.
- * @return error code.
- */
- TInt GetProtocolName(TInt aIndex, TDes& aName, TInt& aUid);
-
- private:
-
- CDirectPrintProtocolsLoader();
- void ConstructL();
- void LoadL();
- static void CleanupProt( TAny* aData );
-
- private: // data
-
- /// Used to store the number of protocols loaded and available for use.
- TInt iAvailableProtocols;
-
- /// Index of the next protocol available.
- TInt iProtIndex;
-
- /// Pointer array used to store the reference to the protocols.
- RPointerArray<MProtPrintingDevice> iProtocols;
-
- /// OR'ed value with the supported protocols information.
- TUint iSupportedProtocols;
-
- /// Pointer array used to store the reference to the protocol infomations.
- RPointerArray<CDirectPrintProtocolInfo> iProtocolInfos;
- };
-
-#endif // DIRECTPRINTPROTOCOLSLOADER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the CDirectPrintProtocolsLoader class definition.
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTPROTOCOLSLOADER_H
+#define DIRECTPRINTPROTOCOLSLOADER_H
+
+// System includes
+#include <e32base.h>
+
+// User includes
+#include "directprintprotocolinfo.h"
+
+// Forward declarations
+class MProtPrintingDevice;
+
+class CDirectPrintProtocolsLoader : public CBase
+ {
+ public:
+
+ static CDirectPrintProtocolsLoader* NewL();
+ ~CDirectPrintProtocolsLoader();
+
+ /**
+ * Gets the number of protocol implementations that could be loaded.
+ * @return Number of protocols available.
+ */
+ TInt GetNumberOfProtocolsAvailable() const;
+
+ /**
+ * Gets the next protocol in the internal list of protocols.
+ *
+ * Returns a pointer to the next protocol in the list. If the end of the list is reached, it starts the list over.
+ * The order in which protocols will be returned is: DPOF, BPP, PictBridge, any other protocols (sorted alpha-
+ * betically). This pointer should not be deleted.
+ * @return Pointer to the next protocol instance.
+ */
+ MProtPrintingDevice* GetNextProtocol();
+
+ /**
+ * Gets the protocol located in the position specified.
+ * @param aIndex Index of the desired protocol. If there are 3 protocols, the valid indexes are: 0, 1, 2.
+ * @return Pointer to the next protocol instance. This pointer should not be deleted.
+ */
+ MProtPrintingDevice* GetProtocolAt(TInt aIndex);
+
+ /**
+ * Resets the inner pointers to the beginning of the protocols' list.
+ */
+ void Reset();
+
+ /**
+ * Returns the index of the current protocol
+ */
+ TInt GetProtocolIndex() const;
+
+ /**
+ * @brief Returns the Protocols supported by the DLL. It can be any of the KDirectPrint_PrinterProtocol* constants.
+ * @return An OR'ed value with the supported protocols information.
+ */
+ TUint SupportedProtocols() const;
+
+ /**
+ * Gets the protocol name in the position specified.
+ * @param aIndex Index of the desired protocol. If there are 3 protocols, the valid indexes are: 0, 1, 2.
+ * @param aName Name of the protocol.
+ * @param aUid Uid of the protocol.
+ * @return error code.
+ */
+ TInt GetProtocolName(TInt aIndex, TDes& aName, TInt& aUid);
+
+ private:
+
+ CDirectPrintProtocolsLoader();
+ void ConstructL();
+ void LoadL();
+ static void CleanupProt( TAny* aData );
+
+ private: // data
+
+ /// Used to store the number of protocols loaded and available for use.
+ TInt iAvailableProtocols;
+
+ /// Index of the next protocol available.
+ TInt iProtIndex;
+
+ /// Pointer array used to store the reference to the protocols.
+ RPointerArray<MProtPrintingDevice> iProtocols;
+
+ /// OR'ed value with the supported protocols information.
+ TUint iSupportedProtocols;
+
+ /// Pointer array used to store the reference to the protocol infomations.
+ RPointerArray<CDirectPrintProtocolInfo> iProtocolInfos;
+ };
+
+#endif // DIRECTPRINTPROTOCOLSLOADER_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintrsimageparser.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintrsimageparser.h Tue May 11 14:10:02 2010 +0800
@@ -1,84 +1,84 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the CDirectPrintRsImageParser class definition.
-*
-*/
-
-
-#ifndef CDIRECTPRINTRSDIRECTPARSER_H
-#define CDIRECTPRINTRSDIRECTPARSER_H
-
-#include <e32base.h>
-#include <f32file.h>
-
-class CDirectPrintRsImageParser : public CBase
- {
- public:
- enum TImageEncoding
- {
- EUnknown = 0,
- ENonDiffHuffmanBaseline = 0xc0,
- ENonDiffHuffmanExtendedSeq,
- ENonDiffHuffmanProgressive,
- ENonDiffHuffmanLossless,
- EUnused1,
- EDiffHuffmanSequential,
- EDiffHuffmanProgressive,
- EDiffHuffmanLossless,
- EReserved,
- ENonDiffArithExtendedSeq,
- ENonDiffArithProgressive,
- ENonDiffArithLossless,
- EUnused2,
- EDiffArithSequential,
- EDiffArithProgressive,
- EDiffArithLossless
- };
-
- /**
- * 2-phase constructor
- *
- * @return new object. The object is left on the cleanup stack
- */
- static CDirectPrintRsImageParser* NewLC();
-
- /**
- * Destructor
- */
- ~CDirectPrintRsImageParser();
-
- /**
- * JPEG image validator
- *
- * @param aFileName image file name
- * @param aValid place holder for validity indicator
- * @param aErr place holder for error code
- */
- void ValidateL( const TDesC& aFileName, TBool& aValid, TInt& aErr );
-
- private:
-
- CDirectPrintRsImageParser();
- void ConstructL();
- TBool Validate( TInt aStartOfDataOffset, TInt aWidth, TInt aHeight, TInt aSize, TInt aEncoding, TInt aErr );
- TInt ReadData( RFile& aFile, TInt aStartByte, TDes8& aData );
-
- private:
-
- RFs iFs;
- };
-
-#endif // CDIRECTPRINTRSDIRECTPARSER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the CDirectPrintRsImageParser class definition.
+*
+*/
+
+
+#ifndef CDIRECTPRINTRSDIRECTPARSER_H
+#define CDIRECTPRINTRSDIRECTPARSER_H
+
+#include <e32base.h>
+#include <f32file.h>
+
+class CDirectPrintRsImageParser : public CBase
+ {
+ public:
+ enum TImageEncoding
+ {
+ EUnknown = 0,
+ ENonDiffHuffmanBaseline = 0xc0,
+ ENonDiffHuffmanExtendedSeq,
+ ENonDiffHuffmanProgressive,
+ ENonDiffHuffmanLossless,
+ EUnused1,
+ EDiffHuffmanSequential,
+ EDiffHuffmanProgressive,
+ EDiffHuffmanLossless,
+ EReserved,
+ ENonDiffArithExtendedSeq,
+ ENonDiffArithProgressive,
+ ENonDiffArithLossless,
+ EUnused2,
+ EDiffArithSequential,
+ EDiffArithProgressive,
+ EDiffArithLossless
+ };
+
+ /**
+ * 2-phase constructor
+ *
+ * @return new object. The object is left on the cleanup stack
+ */
+ static CDirectPrintRsImageParser* NewLC();
+
+ /**
+ * Destructor
+ */
+ ~CDirectPrintRsImageParser();
+
+ /**
+ * JPEG image validator
+ *
+ * @param aFileName image file name
+ * @param aValid place holder for validity indicator
+ * @param aErr place holder for error code
+ */
+ void ValidateL( const TDesC& aFileName, TBool& aValid, TInt& aErr );
+
+ private:
+
+ CDirectPrintRsImageParser();
+ void ConstructL();
+ TBool Validate( TInt aStartOfDataOffset, TInt aWidth, TInt aHeight, TInt aSize, TInt aEncoding, TInt aErr );
+ TInt ReadData( RFile& aFile, TInt aStartByte, TDes8& aData );
+
+ private:
+
+ RFs iFs;
+ };
+
+#endif // CDIRECTPRINTRSDIRECTPARSER_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintscheduler.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintscheduler.h Tue May 11 14:10:02 2010 +0800
@@ -1,57 +1,57 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef CDIRECTPRINTSCHEDULER_H
-#define CDIRECTPRINTSCHEDULER_H
-
-// System include files
-#include <e32base.h>
-
-class MProtIdleObserver;
-
-class CDirectPrintScheduler : public CActiveScheduler
- {
- public: // from CActiveScheduler
- void Error(TInt aError) const;
- public:
-
- /**
- * Idle observer setter. Asynchronous errors (leaves) will be
- * propagated to this observer
- *
- * @param aIdleObserver idle observer
- */
- void SetIdleObserver( MProtIdleObserver& aIdleObserver );
-
- /**
- * Current protocol id setter
- *
- * @param aProtocol current protocol id
- */
- void SetCurrentProtocol( TInt aProtocol );
-
- private:
- MProtIdleObserver* iIdleObserver;
- TInt iCurrentProtocol;
- };
-
-
-#endif // CDIRECTPRINTSCHEDULER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef CDIRECTPRINTSCHEDULER_H
+#define CDIRECTPRINTSCHEDULER_H
+
+// System include files
+#include <e32base.h>
+
+class MProtIdleObserver;
+
+class CDirectPrintScheduler : public CActiveScheduler
+ {
+ public: // from CActiveScheduler
+ void Error(TInt aError) const;
+ public:
+
+ /**
+ * Idle observer setter. Asynchronous errors (leaves) will be
+ * propagated to this observer
+ *
+ * @param aIdleObserver idle observer
+ */
+ void SetIdleObserver( MProtIdleObserver& aIdleObserver );
+
+ /**
+ * Current protocol id setter
+ *
+ * @param aProtocol current protocol id
+ */
+ void SetCurrentProtocol( TInt aProtocol );
+
+ private:
+ MProtIdleObserver* iIdleObserver;
+ TInt iCurrentProtocol;
+ };
+
+
+#endif // CDIRECTPRINTSCHEDULER_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,137 +1,137 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef CDIRECTPRINTSERVER_H
-#define CDIRECTPRINTSERVER_H
-
-// System include files
-#include <e32base.h>
-#include <fbs.h>
-
-class CDirectPrintBody;
-
-// ----------------------------------------------------------------------------------------
-// Server's policy here
-// ----------------------------------------------------------------------------------------
-
-// Total number of ranges
-const TUint KDirectPrintRangeCount = 2;
-
-// Definition of the ranges of IPC numbers
-const TInt KDirectPrintRanges[KDirectPrintRangeCount] =
- {
- 0, // implemented 0-38
- 41 // non implemented function end of range check ; ENotSupported
- };
-
-// Policy to implement for each of the above ranges
-const TUint8 KDirectPrintElementsIndex[KDirectPrintRangeCount] =
- {
- CPolicyServer::EAlwaysPass, // applies to 0th range
- CPolicyServer::ENotSupported // applies to 1st range (out of range IPC)
- };
-
-// Package all the above together into a policy
-const CPolicyServer::TPolicy KDirectPrintPolicy =
- {
- CPolicyServer::EAlwaysPass, // specifies all connect attempts should pass
- KDirectPrintRangeCount, // number of ranges
- KDirectPrintRanges, // ranges array
- KDirectPrintElementsIndex, // elements<->ranges index
- NULL, // array of elements
- };
-class CDirectPrintServer : public CPolicyServer
- {
- public:
-
- /**
- * 2-phase constructor
- *
- * @return new object. The object is left on the cleanup stack
- */
- static CDirectPrintServer* NewLC();
-
- /**
- * Destructor
- */
- ~CDirectPrintServer();
-
- /**
- * Increase session counter
- */
- void AddSession();
-
- /**
- * Decrease session counter. If the counter is decreased to 0, the
- * server is shut down
- */
- void RemoveSession();
-
- /**
- * Session count getter
- *
- * @return session count
- */
- TInt SessionCount() const;
-
- /**
- * Reserve printing engine to the session
- *
- * @param aSession session that claims the printing engine
- * @return error code
- */
- TInt ReserveEngine( const CSession2* aSession );
-
- /**
- * Release printing engine by the session
- *
- * @param aSession session that wants to release the printing engine
- * @return error code
- */
- TInt ReleaseEngine( const CSession2* aSession );
-
- /**
- * Printing engine getter
- *
- * @return printing engine
- */
- CDirectPrintBody& Engine() const;
-
- private:
-
- TInt RunError( TInt aError );
- CDirectPrintServer();
- void ConstructL();
- CSession2* NewSessionL( const TVersion& aVersion, const RMessage2& aMessage ) const;
-
- private:
-
- TInt iConnsCount;
-
- const CSession2* iEngineHolder;
-
- CDirectPrintBody* iEngine;
-
- RFbsSession iFbs;
- };
-
-
-#endif // CDIRECTPRINTSERVER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef CDIRECTPRINTSERVER_H
+#define CDIRECTPRINTSERVER_H
+
+// System include files
+#include <e32base.h>
+#include <fbs.h>
+
+class CDirectPrintBody;
+
+// ----------------------------------------------------------------------------------------
+// Server's policy here
+// ----------------------------------------------------------------------------------------
+
+// Total number of ranges
+const TUint KDirectPrintRangeCount = 2;
+
+// Definition of the ranges of IPC numbers
+const TInt KDirectPrintRanges[KDirectPrintRangeCount] =
+ {
+ 0, // implemented 0-38
+ 41 // non implemented function end of range check ; ENotSupported
+ };
+
+// Policy to implement for each of the above ranges
+const TUint8 KDirectPrintElementsIndex[KDirectPrintRangeCount] =
+ {
+ CPolicyServer::EAlwaysPass, // applies to 0th range
+ CPolicyServer::ENotSupported // applies to 1st range (out of range IPC)
+ };
+
+// Package all the above together into a policy
+const CPolicyServer::TPolicy KDirectPrintPolicy =
+ {
+ CPolicyServer::EAlwaysPass, // specifies all connect attempts should pass
+ KDirectPrintRangeCount, // number of ranges
+ KDirectPrintRanges, // ranges array
+ KDirectPrintElementsIndex, // elements<->ranges index
+ NULL, // array of elements
+ };
+class CDirectPrintServer : public CPolicyServer
+ {
+ public:
+
+ /**
+ * 2-phase constructor
+ *
+ * @return new object. The object is left on the cleanup stack
+ */
+ static CDirectPrintServer* NewLC();
+
+ /**
+ * Destructor
+ */
+ ~CDirectPrintServer();
+
+ /**
+ * Increase session counter
+ */
+ void AddSession();
+
+ /**
+ * Decrease session counter. If the counter is decreased to 0, the
+ * server is shut down
+ */
+ void RemoveSession();
+
+ /**
+ * Session count getter
+ *
+ * @return session count
+ */
+ TInt SessionCount() const;
+
+ /**
+ * Reserve printing engine to the session
+ *
+ * @param aSession session that claims the printing engine
+ * @return error code
+ */
+ TInt ReserveEngine( const CSession2* aSession );
+
+ /**
+ * Release printing engine by the session
+ *
+ * @param aSession session that wants to release the printing engine
+ * @return error code
+ */
+ TInt ReleaseEngine( const CSession2* aSession );
+
+ /**
+ * Printing engine getter
+ *
+ * @return printing engine
+ */
+ CDirectPrintBody& Engine() const;
+
+ private:
+
+ TInt RunError( TInt aError );
+ CDirectPrintServer();
+ void ConstructL();
+ CSession2* NewSessionL( const TVersion& aVersion, const RMessage2& aMessage ) const;
+
+ private:
+
+ TInt iConnsCount;
+
+ const CSession2* iEngineHolder;
+
+ CDirectPrintBody* iEngine;
+
+ RFbsSession iFbs;
+ };
+
+
+#endif // CDIRECTPRINTSERVER_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintserverjobguard.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintserverjobguard.h Tue May 11 14:10:02 2010 +0800
@@ -1,105 +1,105 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef DIRECTPRINTSERVERJOBGUARD_H
-#define DIRECTPRINTSERVERJOBGUARD_H
-
-#include <e32base.h>
-
-#include "imageprint.h"
-#include "directprintjobguarddata.h"
-
-class CDirectPrintBody;
-class TDpMessage;
-
-class CDirectPrintServerJobGuard : public CBase, public MPrintEventObserver
- {
- public:
-
- /**
- * 2-phase constructor
- *
- * @param aEngine printing engine
- * @return new object
- */
- static CDirectPrintServerJobGuard* NewL( CDirectPrintBody& aEngine );
-
- /**
- * Destructor
- */
- ~CDirectPrintServerJobGuard();
-
- private: // from MPrintEventObserver
-
- void PrintJobProgressEvent(TInt aStatus, TInt aPercentCompletion, TInt aJobStateCode);
- void PrintJobErrorEvent(TInt aError, TInt aErrorStringCode);
- void PrinterStatusEvent(TInt aError, TInt aErrorStringCode);
- void PreviewImageEvent(TInt aFsBitmapHandle);
- void ShowMessageL(TInt aMsgLine1Code, TInt aMsgLine2Code);
- TBool AskYesNoQuestionL(TInt aMsgLine1Code, TInt aMsgLine2Code);
- const TDesC& AskForInputL(TInt aMsgLine1Code, TInt aMsgLine2Code);
-
- public:
-
- /**
- * Prepare print job by copying image file name into internal buffer
- *
- * @param aMessage message contains file name of one image.
- */
- void PrepareL( TDpMessage& aMessage );
-
- /**
- * Create print job and set this object as print job events observer
- *
- * @param aMessage message contains printer id
- */
- TInt CreateL( TDpMessage& aMessage );
-
- /**
- * Continue waiting for print job events
- *
- * @param aMessage message completed upon event arrival
- */
- void ContinueCreateL( TDpMessage& aMessage );
-
- /**
- * Stop waiting for print job events. Cancel waiting message
- */
- void Stop();
-
- private:
-
- CDirectPrintServerJobGuard( CDirectPrintBody& aEngine );
- void ConstructL();
- void Process( TInt aErr = KErrNone );
- void DoProcessL();
- void DoPreProcessL( const TDirectPrintJobGuardData& aData );
-
- private: // data
-
- CDirectPrintBody& iEngine;
- TDpMessage* iMessage;
- RArray<TDirectPrintJobGuardData> iBuffer;
- RPointerArray<TDesC> iImages;
- TBool iRequestActive;
- };
-
-
-#endif // DIRECTPRINTSERVERJOBGUARD_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef DIRECTPRINTSERVERJOBGUARD_H
+#define DIRECTPRINTSERVERJOBGUARD_H
+
+#include <e32base.h>
+
+#include "imageprint.h"
+#include "directprintjobguarddata.h"
+
+class CDirectPrintBody;
+class TDpMessage;
+
+class CDirectPrintServerJobGuard : public CBase, public MPrintEventObserver
+ {
+ public:
+
+ /**
+ * 2-phase constructor
+ *
+ * @param aEngine printing engine
+ * @return new object
+ */
+ static CDirectPrintServerJobGuard* NewL( CDirectPrintBody& aEngine );
+
+ /**
+ * Destructor
+ */
+ ~CDirectPrintServerJobGuard();
+
+ private: // from MPrintEventObserver
+
+ void PrintJobProgressEvent(TInt aStatus, TInt aPercentCompletion, TInt aJobStateCode);
+ void PrintJobErrorEvent(TInt aError, TInt aErrorStringCode);
+ void PrinterStatusEvent(TInt aError, TInt aErrorStringCode);
+ void PreviewImageEvent(TInt aFsBitmapHandle);
+ void ShowMessageL(TInt aMsgLine1Code, TInt aMsgLine2Code);
+ TBool AskYesNoQuestionL(TInt aMsgLine1Code, TInt aMsgLine2Code);
+ const TDesC& AskForInputL(TInt aMsgLine1Code, TInt aMsgLine2Code);
+
+ public:
+
+ /**
+ * Prepare print job by copying image file name into internal buffer
+ *
+ * @param aMessage message contains file name of one image.
+ */
+ void PrepareL( TDpMessage& aMessage );
+
+ /**
+ * Create print job and set this object as print job events observer
+ *
+ * @param aMessage message contains printer id
+ */
+ TInt CreateL( TDpMessage& aMessage );
+
+ /**
+ * Continue waiting for print job events
+ *
+ * @param aMessage message completed upon event arrival
+ */
+ void ContinueCreateL( TDpMessage& aMessage );
+
+ /**
+ * Stop waiting for print job events. Cancel waiting message
+ */
+ void Stop();
+
+ private:
+
+ CDirectPrintServerJobGuard( CDirectPrintBody& aEngine );
+ void ConstructL();
+ void Process( TInt aErr = KErrNone );
+ void DoProcessL();
+ void DoPreProcessL( const TDirectPrintJobGuardData& aData );
+
+ private: // data
+
+ CDirectPrintBody& iEngine;
+ TDpMessage* iMessage;
+ RArray<TDirectPrintJobGuardData> iBuffer;
+ RPointerArray<TDesC> iImages;
+ TBool iRequestActive;
+ };
+
+
+#endif // DIRECTPRINTSERVERJOBGUARD_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintserveruid.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintserveruid.h Tue May 11 14:10:02 2010 +0800
@@ -1,29 +1,29 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTSERVERUID_H
-#define DIRECTPRINTSERVERUID_H
-
-// Image Print Server UID3
-
-#define KDIRECTPRINTSERVERUID3 0x2002BB2C
-
-#endif // DIRECTPRINTSERVERUID_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTSERVERUID_H
+#define DIRECTPRINTSERVERUID_H
+
+// Image Print Server UID3
+
+#define KDIRECTPRINTSERVERUID3 0x2002BB2C
+
+#endif // DIRECTPRINTSERVERUID_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/inc/directprintsession.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/inc/directprintsession.h Tue May 11 14:10:02 2010 +0800
@@ -1,106 +1,106 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef CDIRECTPRINTSESSION_H
-#define CDIRECTPRINTSESSION_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "directprintcapability.h"
-#include "directprintmessage.h"
-
-// Forward declarations
-class CDirectPrintServer;
-class CDirectPrintServerJobGuard;
-class CDirectPrintNumOfCopies;
-
-
-class CDirectPrintSession : public CSession2
- {
- public: // from CSession2
- void CreateL();
-
- private:
- ~CDirectPrintSession();
- CDirectPrintServer& Server();
- void ServiceL( const RMessage2& aMessage );
- void Disconnect(const RMessage2 &aMessage);
-
- private:
- void ServiceFirstPartL( TInt aIndex );
- void ServiceSecondPartL( TInt aIndex );
- void ServiceThirdPartL ( TInt aIndex );
- void CountConnectionsL( TDpMessage& aMessage );
- void SetForegroundL( TDpMessage& aMessage );
- void ReserveEngine( TDpMessage& aMessage );
- void ReleaseEngine( TDpMessage& aMessage );
- void SupportedProtocols( TDpMessage& aMessage );
- void GetNumPrintPages( TDpMessage& aMessage );
- void GetJobStatus( TDpMessage& aMessage );
- void GetPrinterStatus( TDpMessage& aMessage );
- void CancelDiscovery( TDpMessage& aMessage );
- void SubmitPrintJobL( TDpMessage& aMessage );
- void CancelPrintJob( TDpMessage& aMessage );
- void ContinuePrintJobL( TDpMessage& aMessage );
- void RemoveCachedPrinterL( TDpMessage& aMessage );
- void GetJobTemplateIconL( TDpMessage& aMessage );
- void GetNumPreviewPages( TDpMessage& aMessage );
- void SetJobSettingL( TDpMessage& aMessage );
- void GetJobSettingL( TDpMessage& aMessage );
- void GetPrinterCapabilityL( TDpMessage& aMessage );
- void GetPrinterCapIdL( TDpMessage& aMessage );
- void GetPrinterCapTypeL( TDpMessage& aMessage );
- void GetPrinterCapDefL( TDpMessage& aMessage );
- void GetPrinterCapLowL( TDpMessage& aMessage );
- void GetPrinterCapHighL( TDpMessage& aMessage );
- void GetPrinterCapEnumCountL( TDpMessage& aMessage );
- void GetPrinterCapEnumL( TDpMessage& aMessage );
- void GetPrinterCapabilityIDsCountL( TDpMessage& aMessage );
- void GetPrinterCapabilityIDL( TDpMessage& aMessage );
- void RegisterIdleObserverL( TDpMessage& aMessage );
- void CancelRegisterIdleObserverL( TDpMessage& aMessage );
- void StartDiscoveryL( TDpMessage& aMessage );
- void ContinueDiscoveryL( TDpMessage& aMessage );
- void PrepareJobL( TDpMessage& aMessage );
- void CreateJobL( TDpMessage& aMessage );
- void ContinueCreateJobL( TDpMessage& aMessage );
- void CancelStartDiscoveryL( TDpMessage& aMessage );
- void CancelCreateJobL( TDpMessage& aMessage );
- void IsPictBridgeModeL( TDpMessage& aMessage );
- void SetNumberOfCopiesCountL( TDpMessage& aMessage );
- void SetNumberOfCopiesL( TDpMessage& aMessage );
- void GetProtocolNamesCountL( TDpMessage& aMessage );
- void GetProtocolNameL( TDpMessage& aMessage );
-
- private: // data
-
- RPointerArray<TDpMessage> iMsgWrappers;
- RArray<TInt> iCapabilityIDs;
- CDirectPrintServerJobGuard* iJobGuard;
- TDirectPrintCapability iCapability;
- CDirectPrintNumOfCopies* iNumOfCopies;
- TBool iConnected;
- };
-
-
-#endif // CDIRECTPRINTSESSION_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef CDIRECTPRINTSESSION_H
+#define CDIRECTPRINTSESSION_H
+
+// System includes
+#include <e32base.h>
+
+// User includes
+#include "directprintcapability.h"
+#include "directprintmessage.h"
+
+// Forward declarations
+class CDirectPrintServer;
+class CDirectPrintServerJobGuard;
+class CDirectPrintNumOfCopies;
+
+
+class CDirectPrintSession : public CSession2
+ {
+ public: // from CSession2
+ void CreateL();
+
+ private:
+ ~CDirectPrintSession();
+ CDirectPrintServer& Server();
+ void ServiceL( const RMessage2& aMessage );
+ void Disconnect(const RMessage2 &aMessage);
+
+ private:
+ void ServiceFirstPartL( TInt aIndex );
+ void ServiceSecondPartL( TInt aIndex );
+ void ServiceThirdPartL ( TInt aIndex );
+ void CountConnectionsL( TDpMessage& aMessage );
+ void SetForegroundL( TDpMessage& aMessage );
+ void ReserveEngine( TDpMessage& aMessage );
+ void ReleaseEngine( TDpMessage& aMessage );
+ void SupportedProtocols( TDpMessage& aMessage );
+ void GetNumPrintPages( TDpMessage& aMessage );
+ void GetJobStatus( TDpMessage& aMessage );
+ void GetPrinterStatus( TDpMessage& aMessage );
+ void CancelDiscovery( TDpMessage& aMessage );
+ void SubmitPrintJobL( TDpMessage& aMessage );
+ void CancelPrintJob( TDpMessage& aMessage );
+ void ContinuePrintJobL( TDpMessage& aMessage );
+ void RemoveCachedPrinterL( TDpMessage& aMessage );
+ void GetJobTemplateIconL( TDpMessage& aMessage );
+ void GetNumPreviewPages( TDpMessage& aMessage );
+ void SetJobSettingL( TDpMessage& aMessage );
+ void GetJobSettingL( TDpMessage& aMessage );
+ void GetPrinterCapabilityL( TDpMessage& aMessage );
+ void GetPrinterCapIdL( TDpMessage& aMessage );
+ void GetPrinterCapTypeL( TDpMessage& aMessage );
+ void GetPrinterCapDefL( TDpMessage& aMessage );
+ void GetPrinterCapLowL( TDpMessage& aMessage );
+ void GetPrinterCapHighL( TDpMessage& aMessage );
+ void GetPrinterCapEnumCountL( TDpMessage& aMessage );
+ void GetPrinterCapEnumL( TDpMessage& aMessage );
+ void GetPrinterCapabilityIDsCountL( TDpMessage& aMessage );
+ void GetPrinterCapabilityIDL( TDpMessage& aMessage );
+ void RegisterIdleObserverL( TDpMessage& aMessage );
+ void CancelRegisterIdleObserverL( TDpMessage& aMessage );
+ void StartDiscoveryL( TDpMessage& aMessage );
+ void ContinueDiscoveryL( TDpMessage& aMessage );
+ void PrepareJobL( TDpMessage& aMessage );
+ void CreateJobL( TDpMessage& aMessage );
+ void ContinueCreateJobL( TDpMessage& aMessage );
+ void CancelStartDiscoveryL( TDpMessage& aMessage );
+ void CancelCreateJobL( TDpMessage& aMessage );
+ void IsPictBridgeModeL( TDpMessage& aMessage );
+ void SetNumberOfCopiesCountL( TDpMessage& aMessage );
+ void SetNumberOfCopiesL( TDpMessage& aMessage );
+ void GetProtocolNamesCountL( TDpMessage& aMessage );
+ void GetProtocolNameL( TDpMessage& aMessage );
+
+ private: // data
+
+ RPointerArray<TDpMessage> iMsgWrappers;
+ RArray<TInt> iCapabilityIDs;
+ CDirectPrintServerJobGuard* iJobGuard;
+ TDirectPrintCapability iCapability;
+ CDirectPrintNumOfCopies* iNumOfCopies;
+ TBool iConnected;
+ };
+
+
+#endif // CDIRECTPRINTSESSION_H
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintbody.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintbody.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,739 +1,739 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the CDirectPrintBody class definition.
-*
-*/
-
-
-#include <bluetooth/hci/hcierrors.h>
-
-#include "directprintbody.h"
-#include "directprintrsimageparser.h"
-#include "clog.h"
-#include "directprintselectitem.h"
-#include "directprintmessage.h"
-
-CDirectPrintBody* CDirectPrintBody::NewL()
- {
- CDirectPrintBody* self = new (ELeave) CDirectPrintBody();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-CDirectPrintBody::~CDirectPrintBody()
- {
- LOG("CDirectPrintBody::~CDirectPrintBody begin");
- delete iClassLoader;
- iImageFileNames.ResetAndDestroy();
- delete iIdleDiscovery;
- LOG("CDirectPrintBody::~CDirectPrintBody end");
- }
-
-TInt CDirectPrintBody::StartDiscovery(MPrinterDiscoveryObserver& aObserver, TUint aProtocols)
- {
- LOG1("CDirectPrintBody::StartDiscovery aProtocols: %d", aProtocols);
- iPrinterDiscoveryObserver = &aObserver;
-
- if( iCurrentProtocol )
- {
- iCurrentProtocol->CancelDiscovery( EFalse );
- }
-
- iCurrentProtocol = NULL;
- iClassLoader->Reset();
- iProtocolsRequested = aProtocols;
- iDiscoveryCancelled = EFalse;
- TryNextDiscovery();
-
- LOG("CDirectPrintBody::StartDiscovery end");
- return KErrNone;
- }
-
-void CDirectPrintBody::CancelDiscovery()
- {
- LOG("CDirectPrintBody::CancelDiscovery begin");
- iDiscoveryCancelled = ETrue;
- if( iCurrentProtocol )
- {
- iCurrentProtocol->CancelDiscovery();
- }
- LOG("CDirectPrintBody::CancelDiscovery end");
- }
-
-
-TInt CDirectPrintBody::CreatePrintJobL(TInt aPrinterID, RPointerArray<TDesC>& aImages, MPrintEventObserver& aObserver)
- {
- LOG("CDirectPrintBody::CreatePrintJobL begin");
- iPrinterPrintEventObserver = &aObserver;
- iCurrentPrintJobProtocol = NULL;
-
- if( iCurrentProtocol )
- {
- iCurrentProtocol->CancelDiscovery( EFalse );
- }
-
-#ifdef __IMAGE_PRINT_BASE
- TInt DeviceID;
- TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, iCurrentPrintJobProtocol );
- if( !err )
- {
- TInt count = aImages.Count();
- if( count )
- {
- iImageFileNames.ResetAndDestroy();
- for( TInt i = 0; i < count; ++i )
- {
- HBufC* fileName = aImages[i]->AllocLC();
- iImageFileNames.AppendL( fileName );
- CleanupStack::Pop(); // fileName
- }
-
- ActiveScheduler().SetCurrentProtocol( iCurrentPrintJobProtocol->SupportedProtocols() );
- err = iCurrentPrintJobProtocol->CreatePrintJobL( DeviceID, aImages, *this );
- }
- else
- {
- err = KErrInvalidData;
- }
- }
-#endif // __IMAGE_PRINT_BASE
-
- TInt DeviceID;
- TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, iCurrentPrintJobProtocol );
- if( !err )
- {
- ActiveScheduler().SetCurrentProtocol( iCurrentPrintJobProtocol->SupportedProtocols() );
- err = iCurrentPrintJobProtocol->CreatePrintJobL( DeviceID, aImages, *this );
- }
-
- LOG1("CDirectPrintBody::CreatePrintJobL return: %d", err);
- return err;
- }
-
-
-void CDirectPrintBody::SubmitPrintJobL()
- {
- LOG1("CDirectPrintBody::SubmitPrintJobL iCurrentPrintJobProtocol: %d", iCurrentPrintJobProtocol);
- TInt err( KErrNone );
-
- if( !iCurrentPrintJobProtocol )
- {
- err = KErrInvalidSequence;
- }
- if( !err )
- {
- TInt invalidImages;
- err = ValidateImagesL( iImageFileNames, invalidImages );
- LOG1("CDirectPrintBody::SubmitPrintJobL ValidateImagesL returns: %d", err);
- }
-
- User::LeaveIfError( err );
-
- iCurrentPrintJobProtocol->SubmitPrintJobL();
-
- LOG("CDirectPrintBody::SubmitPrintJobL end");
- }
-
-
-TInt CDirectPrintBody::CancelPrintJob()
- {
- LOG("CDirectPrintBody::CancelPrintJob begin");
- TInt err( KErrNone );
- if( !iCurrentPrintJobProtocol )
- {
- err = KErrInvalidSequence;
- }
- if( !err )
- {
- err = iCurrentPrintJobProtocol->CancelPrintJob();
- }
- LOG1("CDirectPrintBody::CancelPrintJob return: %d", err);
- return err;
- }
-
-
-TInt CDirectPrintBody::ContinuePrintJobL()
- {
- LOG("CDirectPrintBody::ContinuePrintJobL begin");
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->ContinuePrintJobL();
- }
- LOG1("CDirectPrintBody::ContinuePrintJobL return: %d", err);
- return err;
- }
-
-
-TInt CDirectPrintBody::GetNumPrintPages()
- {
- LOG("CDirectPrintBody::GetNumPrintPages begin");
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->GetNumPrintPages();
- }
- LOG1("CDirectPrintBody::GetNumPrintPages return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetJobStatus()
- {
- LOG("CDirectPrintBody::GetJobStatus begin");
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->GetPrintJobStatus();
- }
- LOG1("CDirectPrintBody::GetJobStatus return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetPrinterStatus(TInt aPrinterID)
- {
- LOG1("CDirectPrintBody::GetPrinterStatus aPrinterID: %d", aPrinterID);
- TInt DeviceID;
- MProtPrintingDevice* theProtToQuery = NULL;
- TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
- if( !err )
- {
- err = theProtToQuery->GetPrinterStatus( DeviceID );
- }
- LOG1("CDirectPrintBody::GetPrinterStatus return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetPrinterCapabilityIDsL(TInt aPrinterID, RArray<TInt>& aCapabilityIDs)
- {
- LOG1("CDirectPrintBody::GetPrinterCapabilityIDsL aPrinterID: %d", aPrinterID);
- TInt DeviceID;
- MProtPrintingDevice* theProtToQuery = NULL;
-
- TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
- if( !err )
- {
- err = theProtToQuery->GetDeviceCapabilityIDsL( DeviceID, aCapabilityIDs );
- }
- else if( err == KErrNotFound )
- {
- err = KErrInvalidData;
- }
-
- LOG1("CDirectPrintBody::GetPrinterCapabilityIDsL return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetPrinterCapabilityL(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability)
- {
- LOG1("CDirectPrintBody::GetPrinterCapabilityL aPrinterID: %d", aPrinterID);
- LOG1("CDirectPrintBody::GetPrinterCapabilityL aCapabilityID: %d", aCapabilityID);
- TInt DeviceID;
- MProtPrintingDevice* theProtToQuery = NULL;
-
- TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
- if( !err )
- {
- err = theProtToQuery->GetDeviceCapabilityL( DeviceID, aCapabilityID, aCapability );
- }
- else if( err == KErrNotFound )
- {
- err = KErrInvalidData;
- }
-
- LOG1("CDirectPrintBody::GetPrinterCapabilityL return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetJobSetting(TInt aCapabilityID, TInt& aValue)
- {
- LOG1("CDirectPrintBody::GetJobSetting aCapabilityID: %d", aCapabilityID);
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->GetJobSetting( aCapabilityID, aValue );
- }
- LOG1("CDirectPrintBody::GetJobSetting return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::SetJobSettingL(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability)
- {
- LOG1("CDirectPrintBody::SetJobSettingL aCapabilityID: %d", aCapabilityID);
- LOG1("CDirectPrintBody::SetJobSettingL aValue: %d", aValue);
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->SetJobSettingL( aCapabilityID, aValue, aAffectedCapability );
- }
- LOG1("CDirectPrintBody::SetJobSettingL return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetNumPreviewPages()
- {
- LOG("CDirectPrintBody::GetNumPreviewPages");
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->GetNumPreviewPages();
- }
- LOG1("CDirectPrintBody::GetNumPreviewPages return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::GetJobTemplateIconL( TInt aTemplateID, TInt& aFbsBitmapHandle )
- {
- LOG1("CDirectPrintBody::GetJobTemplateIconL aTemplateID: %d", aTemplateID);
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->GetJobTemplateIconL( aTemplateID, aFbsBitmapHandle );
- }
- LOG1("CDirectPrintBody::GetJobTemplateIconL return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::CreatePreviewImage(TInt aPageNumber)
- {
- LOG1("CDirectPrintBody::CreatePreviewImage aPageNumber: %d", aPageNumber);
- TInt err( KErrInvalidSequence );
- if( iCurrentPrintJobProtocol )
- {
- err = iCurrentPrintJobProtocol->CreatePreviewImage(aPageNumber);
- }
- LOG1("CDirectPrintBody::CreatePreviewImage return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::RemoveCachedPrinterL(TInt aPrinterID)
- {
- LOG1("CDirectPrintBody::RemoveCachedPrinterL aPrinterID: %d", aPrinterID);
- TInt DeviceID;
- MProtPrintingDevice* theProtToQuery = NULL;
- TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
- if( !err )
- {
- err = theProtToQuery->RemoveCachedDeviceL( DeviceID );
- }
- LOG1("CDirectPrintBody::RemoveCachedPrinterL return: %d", err);
- return err;
- }
-
-TUint CDirectPrintBody::SupportedProtocols()
- {
- LOG("CDirectPrintBody::SupportedProtocols begin");
- TUint prots = iClassLoader->SupportedProtocols();
- LOG1("CDirectPrintBody::SupportedProtocols return: %d", prots);
- return prots;
- }
-
-void CDirectPrintBody::RegisterIdleObserver(MIdleObserver *aObserver)
- {
- LOG("CDirectPrintBody::RegisterIdleObserver begin");
- iPrinterIdleObserver = aObserver;
- LOG("CDirectPrintBody::RegisterIdleObserver end");
- }
-
-// From MProtDiscoveryObserver.
-void CDirectPrintBody::FoundDeviceL(TPrinter& aDeviceInfo)
- {
- LOG("CDirectPrintBody::FoundDeviceL begin");
- if( iPrinterDiscoveryObserver )
- {
- //Check that device id is valid, there can't be any bits in the protocol field (higher bits)
- if( !( PROTOCOL_ID_FIELD_MASK & aDeviceInfo.iPrinterID ) )
- {
- // Get the protocol index number
- TInt protocolIndex = iClassLoader->GetProtocolIndex();
-
- // Left shift this number so that it occupies the higher X bits (the PROTOCOL_ID_BIT_COUNT highest bits)
- protocolIndex <<= sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT;
-
- // Add the protocol index number to the device id
- aDeviceInfo.iPrinterID |= protocolIndex;
-
- // Forward the FoundPrinterL callback to the observer
- iPrinterDiscoveryObserver->FoundPrinterL( aDeviceInfo );
- }
- }
- LOG("CDirectPrintBody::FoundDeviceL end");
- }
-
-void CDirectPrintBody::DiscoveryStatusL( TInt aStatus, TInt aErrorCode, TInt aErrorStringCode )
- {
- LOG1("CDirectPrintBody::DiscoveryStatusL aStatus: %d", aStatus);
- LOG1("CDirectPrintBody::DiscoveryStatusL aErrorCode: %d", aErrorCode);
- LOG1("CDirectPrintBody::DiscoveryStatusL aErrorStringCode: %d", aErrorStringCode);
- if( iPrinterDiscoveryObserver )
- {
- switch( aStatus )
- {
- case EDiscoveryFinished: // Done with 1 protocol.
- {
- // When Bluetooth discovery is finished, but Bluetooth is not enabled pass error code to UI.
- if ( aErrorCode == ENoConnection )
- {
- iPrinterDiscoveryObserver->DiscoveryStatusL( aStatus, aErrorCode, aErrorStringCode );
- }
- iCurrentProtocol = NULL;
- TUint doDiscovery = iProtocolsRequested & iClassLoader->SupportedProtocols();
- LOG1("CDirectPrintBody::DiscoveryStatusL doDiscovery: %d", doDiscovery);
- LOG1("CDirectPrintBody::DiscoveryStatusL iDiscoveryCancelled: %d", iDiscoveryCancelled);
- if( ( !doDiscovery && aErrorCode == KErrCancel ) || iDiscoveryCancelled )
- {
- iPrinterDiscoveryObserver->DiscoveryStatusL( aStatus, aErrorCode, aErrorStringCode );
- }
- else
- {
- TryNextDiscovery();
- }
- }
- break;
- default: // Discovering, Cancelling.
- iCurrentProtocol = NULL;
- iPrinterDiscoveryObserver->DiscoveryStatusL( aStatus, aErrorCode, aErrorStringCode );
- break;
- }
- }
- LOG("CDirectPrintBody::DiscoveryStatusL end");
- }
-
-
-void CDirectPrintBody::RemoveDeviceL(TPrinter& aDeviceInfo)
- {
- LOG("CDirectPrintBody::RemoveDeviceL begin");
- if( iPrinterDiscoveryObserver )
- {
- if (PROTOCOL_ID_FIELD_MASK & aDeviceInfo.iPrinterID)
- { //Invalid id, reject printer
- }
- else
- { // Get the protocol index number
- TInt protocolIndex = iClassLoader->GetProtocolIndex();
-
- // Left shift this number so that it occupies the higher X bits (the PROTOCOL_ID_BIT_COUNT highest bits)
- protocolIndex <<= sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT;
-
- // Add the protocol index number to the device id
- aDeviceInfo.iPrinterID |= protocolIndex;
-
- // Forward the RemovePrinterL callback to the observer
- iPrinterDiscoveryObserver->RemovePrinterL( aDeviceInfo );
- }
- }
- LOG("CDirectPrintBody::RemoveDeviceL end");
- }
-
-// From MProtPrintEventObserver.
-void CDirectPrintBody::PrintJobProgressEvent(TInt aStatus, TInt aPercent, TInt aJobStateCode)
- {
- LOG1("CDirectPrintBody::PrintJobProgressEvent aStatus: %d", aStatus);
- LOG1("CDirectPrintBody::PrintJobProgressEvent aPercent: %d", aPercent);
- LOG1("CDirectPrintBody::PrintJobProgressEvent aJobStateCode: %d", aJobStateCode);
- if( iPrinterPrintEventObserver )
- iPrinterPrintEventObserver->PrintJobProgressEvent(aStatus, aPercent, aJobStateCode);
- LOG("CDirectPrintBody::PrintJobProgressEvent end");
- }
-
-void CDirectPrintBody::PrintJobErrorEvent(TInt aErrorCode, TInt aErrorStringCode)
- {
- LOG1("CDirectPrintBody::PrintJobErrorEvent aErrorCode: %d", aErrorCode);
- LOG1("CDirectPrintBody::PrintJobErrorEvent aErrorStringCode: %d", aErrorStringCode);
- if( iPrinterPrintEventObserver )
- iPrinterPrintEventObserver->PrintJobErrorEvent(aErrorCode, aErrorStringCode);
- LOG("CDirectPrintBody::PrintJobErrorEvent end");
- }
-
-void CDirectPrintBody::PrinterStatusEvent(TInt aErrorCode, TInt aErrorStringCode)
- {
- LOG1("CDirectPrintBody::PrinterStatusEvent aErrorCode: %d", aErrorCode);
- LOG1("CDirectPrintBody::PrinterStatusEvent aErrorStringCode: %d", aErrorStringCode);
- if( iPrinterPrintEventObserver )
- iPrinterPrintEventObserver->PrinterStatusEvent(aErrorCode, aErrorStringCode);
- LOG("CDirectPrintBody::PrinterStatusEvent end");
- }
-
-void CDirectPrintBody::PreviewImageEvent(TInt aFsBitmapHandle)
- {
- LOG1("CDirectPrintBody::PreviewImageEvent aFsBitmapHandle: %d", aFsBitmapHandle);
- if( iPrinterPrintEventObserver )
- iPrinterPrintEventObserver->PreviewImageEvent(aFsBitmapHandle);
- LOG("CDirectPrintBody::PreviewImageEvent end");
- }
-
-void CDirectPrintBody::ShowMessageL(TInt aMsgLine1Code, TInt aMsgLine2Code)
- {
- LOG1("CDirectPrintBody::ShowMessageL aMsgLine1Code: %d", aMsgLine1Code);
- LOG1("CDirectPrintBody::ShowMessageL aMsgLine2Code: %d", aMsgLine2Code);
- if( iPrinterPrintEventObserver )
- iPrinterPrintEventObserver->ShowMessageL(aMsgLine1Code, aMsgLine2Code);
- LOG("CDirectPrintBody::ShowMessageL end");
- }
-
-TBool CDirectPrintBody::AskYesNoQuestionL(TInt aMsgLine1Code, TInt aMsgLine2Code)
- {
- LOG1("CDirectPrintBody::AskYesNoQuestionL aMsgLine1Code: %d", aMsgLine1Code);
- LOG1("CDirectPrintBody::AskYesNoQuestionL aMsgLine2Code: %d", aMsgLine2Code);
- TBool res( EFalse );
- if( iPrinterPrintEventObserver )
- {
- res = iPrinterPrintEventObserver->AskYesNoQuestionL(aMsgLine1Code, aMsgLine2Code);
- }
- LOG1("CDirectPrintBody::AskYesNoQuestionL return: %d", res);
- return res;
- }
-
-const TDesC& CDirectPrintBody::AskForInputL(TInt aMsgLine1Code, TInt aMsgLine2Code)
- {
- LOG1("CDirectPrintBody::ShowMessageL aMsgLine1Code: %d", aMsgLine1Code);
- LOG1("CDirectPrintBody::ShowMessageL aMsgLine2Code: %d", aMsgLine2Code);
- if( iPrinterPrintEventObserver )
- {
- return iPrinterPrintEventObserver->AskForInputL(aMsgLine1Code, aMsgLine2Code);
- }
- else
- {
- return KNullDesC;
- }
- }
-
-void CDirectPrintBody::StatusEvent(const TEvent& aEvent, TInt aError, TInt aMsgCode)
- {
- LOG1("CDirectPrintBody::StatusEvent aError: %d", aError);
- LOG1("CDirectPrintBody::StatusEvent aMsgCode: %d", aMsgCode);
- LOG1("CDirectPrintBody::StatusEvent aEvent.iProtocol: %d", aEvent.iProtocol);
- LOG1("CDirectPrintBody::StatusEvent aEvent.iSeverity: %d", aEvent.iSeverity);
- LOG1("CDirectPrintBody::StatusEvent aEvent.iEventType: %d", aEvent.iEventType);
-
- if( iPrinterIdleObserver )
- {
- iPrinterIdleObserver->StatusEvent( aEvent, aError, aMsgCode );
- }
-
- if( aEvent.iEventType == EAsynchronousLeave )
- {
- // a protocol threw an async leave
- // we continue with other protocols
- TUint doDiscovery = iProtocolsRequested & iClassLoader->SupportedProtocols();
- if( doDiscovery ) TryNextDiscovery();
- }
- LOG("CDirectPrintBody::StatusEvent end");
- }
-
-CDirectPrintBody::CDirectPrintBody()
- : iCurrentProtocol( NULL )
- , iCurrentPrintJobProtocol( NULL )
- {
- LOG("CDirectPrintBody::CDirectPrintBody begin");
- LOG("CDirectPrintBody::CDirectPrintBody end");
- }
-
-void CDirectPrintBody::ConstructL()
- {
- LOG("CDirectPrintBody::ConstructL begin");
- iClassLoader = CDirectPrintProtocolsLoader::NewL();
- iClassLoader->Reset();
- for( TInt x=0; x < iClassLoader->GetNumberOfProtocolsAvailable(); ++x )
- {
- iClassLoader->GetNextProtocol()->RegisterIdleObserver( this );
- }
-
- iIdleDiscovery = CIdle::NewL( CActive::EPriorityIdle );
- ActiveScheduler().SetIdleObserver( *this );
- LOG("CDirectPrintBody::ConstructL end");
- }
-
-CDirectPrintScheduler& CDirectPrintBody::ActiveScheduler() const
- {
- LOG("CDirectPrintBody::ActiveScheduler begin");
- CDirectPrintScheduler* scheduler = static_cast<CDirectPrintScheduler*>( CActiveScheduler::Current() );
- LOG("CDirectPrintBody::ActiveScheduler end");
- return *scheduler;
- }
-
-TInt CDirectPrintBody::FindInternalDeviceReference(TInt aExternalDeviceID, TInt& aInternalDeviceID, MProtPrintingDevice*& aProtToUse)
- {
- LOG1("CDirectPrintBody::FindInternalDeviceReference aExternalDeviceID: %d", aExternalDeviceID);
- TInt err( KErrNotFound );
-
-#ifdef __IMAGE_PRINT_BASE
- aProtToUse = NULL;
-
- // Separate the external id into the corresponding fields
- TInt protId = aExternalDeviceID & PROTOCOL_ID_FIELD_MASK;
-
- TInt deviceId = aExternalDeviceID & DEVICE_ID_FIELD_MASK;
- protId >>= (sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT);
- // If TInt is more than 4 bytes the mask should clear everything but the 6 least significant bits
- protId &= PROTOCOL_ID_CLEAR_MASK; //remove 1's if the original protId was negative
-
- // Check that the external ID does indeed belong to one of the currently
- // loaded protocols
- if( protId >= 0 && protId < iClassLoader->GetNumberOfProtocolsAvailable() )
- {
- aInternalDeviceID = deviceId;
- aProtToUse = iClassLoader->GetProtocolAt(protId);
- if( aProtToUse ) err = KErrNone;
- }
-#endif // __IMAGE_PRINT_BASE
-#if 1 // ko
- TInt protId = aExternalDeviceID & PROTOCOL_ID_FIELD_MASK;
- protId >>= (sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT);
- protId &= PROTOCOL_ID_CLEAR_MASK;
- if( protId >= 0 && protId < iClassLoader->GetNumberOfProtocolsAvailable() )
- {
- aInternalDeviceID = 128;
- aProtToUse = iClassLoader->GetProtocolAt(protId);
- if( aProtToUse ) err = KErrNone;
- }
-#else // ko
- aInternalDeviceID = 128;
- aProtToUse = iClassLoader->GetProtocolAt(0);
- if( aProtToUse ) err = KErrNone;
-#endif // ko
- LOG1("CDirectPrintBody::FindInternalDeviceReference return: %d", err);
- return err;
- }
-
-TInt CDirectPrintBody::ValidateImagesL(const RPointerArray<HBufC>& aImageList, TInt &aInvalidCount)
- {
- LOG1("CDirectPrintBody::ValidateImagesL aImageList.Count(): %d", aImageList.Count());
- aInvalidCount = 0;
- TInt lastError = KErrNone;
- CDirectPrintRsImageParser *imageParser = CDirectPrintRsImageParser::NewLC();
-
- for( TInt nCnt=0; nCnt < aImageList.Count(); ++nCnt )
- {
- LOG1("CDirectPrintBody::ValidateImagesL nCnt: %d", nCnt);
- LOG1("CDirectPrintBody::ValidateImagesL image: %S", aImageList[nCnt]);
- TBool valid;
- imageParser->ValidateL(*(aImageList[nCnt]), valid, lastError);
- LOG1("CDirectPrintBody::ValidateImagesL valid: %d", valid);
- LOG1("CDirectPrintBody::ValidateImagesL lastError: %d", lastError);
- if( !valid )
- {
- ++aInvalidCount;
- }
- }
-
- CleanupStack::PopAndDestroy(imageParser);
- LOG1("CDirectPrintBody::ValidateImagesL aInvalidCount: %d", aInvalidCount);
- LOG1("CDirectPrintBody::ValidateImagesL ends with: %d", lastError);
- return lastError;
- }
-
-void CDirectPrintBody::TryNextDiscovery()
- {
- LOG("CDirectPrintBody::TryNextDiscovery begin");
- iIdleDiscovery->Cancel();
- iIdleDiscovery->Start(TCallBack(TryNextDiscoveryL, this));
- LOG("CDirectPrintBody::TryNextDiscovery end");
- }
-
-void CDirectPrintBody::DoTryNextDiscoveryL()
- {
- LOG("CDirectPrintBody::DoTryNextDiscoveryL begin");
- TUint doDiscovery = iProtocolsRequested & iClassLoader->SupportedProtocols();
- LOG1("CDirectPrintBody::DoTryNextDiscoveryL doDiscovery: %d", doDiscovery);
- if( doDiscovery )
- {
- TBool found( EFalse );
- TInt protId( 0 );
- TInt count = iClassLoader->GetNumberOfProtocolsAvailable();
- LOG1("CDirectPrintBody::DoTryNextDiscoveryL count: %d", count);
- for( TInt i = 0; i < count && !found; i++ )
- {
- iCurrentProtocol = iClassLoader->GetNextProtocol();
- protId = iCurrentProtocol->SupportedProtocols();
- if( iProtocolsRequested & protId ) found = ETrue;
- }
- LOG1("CDirectPrintBody::DoTryNextDiscoveryL found: %d", found);
- LOG1("CDirectPrintBody::DoTryNextDiscoveryL protId: %d", protId);
- if( found )
- {
- TUint temp = KMaxTUint ^ protId;
- iProtocolsRequested &= temp;
- LOG1("CDirectPrintBody::DoTryNextDiscoveryL iProtocolsRequested: %d", iProtocolsRequested);
- ActiveScheduler().SetCurrentProtocol( protId );
- iCurrentProtocol->StartDiscoveryL( *this, protId );
- }
- }
- else
- {
- iPrinterDiscoveryObserver->DiscoveryStatusL( EDiscoveryFinished, 0, 0 );
- }
- LOG("CDirectPrintBody::DoTryNextDiscoveryL end");
- }
-
-TInt CDirectPrintBody::TryNextDiscoveryL(TAny* aObj)
- {
- LOG("CDirectPrintBody::TryNextDiscoveryL begin");
- CDirectPrintBody* obj = static_cast<CDirectPrintBody*>(aObj);
- obj->DoTryNextDiscoveryL();
- LOG("CDirectPrintBody::TryNextDiscoveryL end");
- return EFalse;
- }
-
-void CDirectPrintBody::SetNumsOfCopiesL( const RArray<TInt>& aNumsOfCopies, TInt& aErr )
- {
- LOG1("CDirectPrintBody::SetNumberOfCopiesL aNumsOfCopies.Count(): %d", aNumsOfCopies.Count());
-
- if( iCurrentPrintJobProtocol )
- {
- iCurrentPrintJobProtocol->SetNumsOfCopiesL( aNumsOfCopies, aErr );
- LOG1("CDirectPrintBody::SetNumberOfCopiesL aErr: %d", aErr);
- }
-
- LOG("CDirectPrintBody::SetNumberOfCopiesL end");
- }
-
-void CDirectPrintBody::HandleSessionDisconnect( const MIdleObserver* aIdleObserver,
- const MPrinterDiscoveryObserver* aDiscoveryObserver,
- const MPrintEventObserver* aEventObserver )
- {
- LOG1("CDirectPrintBody::HandleSessionDisconnect aIdleObserver address: %d", aIdleObserver);
- LOG1("CDirectPrintBody::HandleSessionDisconnect iPrinterIdleObserver address: %d", iPrinterIdleObserver);
- LOG1("CDirectPrintBody::HandleSessionDisconnect aDiscoveryObserver address: %d", aDiscoveryObserver);
- LOG1("CDirectPrintBody::HandleSessionDisconnect iPrinterDiscoveryObserver address: %d", iPrinterDiscoveryObserver);
- LOG1("CDirectPrintBody::HandleSessionDisconnect aEventObserver address: %d", aEventObserver);
- LOG1("CDirectPrintBody::HandleSessionDisconnect iPrinterPrintEventObserver address: %d", iPrinterPrintEventObserver);
- if( aIdleObserver == iPrinterIdleObserver ) iPrinterIdleObserver = NULL;
- if( aEventObserver == iPrinterPrintEventObserver ) iPrinterPrintEventObserver = NULL;
- if( aDiscoveryObserver == iPrinterDiscoveryObserver ) iPrinterDiscoveryObserver = NULL;
- LOG("CDirectPrintBody::HandleSessionDisconnect end");
- }
-
-TInt CDirectPrintBody::ProtocolCount()
- {
- return iClassLoader->GetNumberOfProtocolsAvailable();
- }
-
-TInt CDirectPrintBody::GetProtocolNameL( TDpMessage& aMessage )
- {
- TDirectPrintSelectItem item;
- TInt index = aMessage.Int0();
- TInt err = iClassLoader->GetProtocolName(index, item.iName, item.iId);
-
- if (err == KErrNone)
- {
- TPtr8 ptr(reinterpret_cast<TUint8*>(&item), sizeof(item), sizeof(item));
- aMessage.WriteL( 1, ptr );
- }
-
- return err;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the CDirectPrintBody class definition.
+*
+*/
+
+
+#include <bluetooth/hci/hcierrors.h>
+
+#include "directprintbody.h"
+#include "directprintrsimageparser.h"
+#include "clog.h"
+#include "directprintselectitem.h"
+#include "directprintmessage.h"
+
+CDirectPrintBody* CDirectPrintBody::NewL()
+ {
+ CDirectPrintBody* self = new (ELeave) CDirectPrintBody();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CDirectPrintBody::~CDirectPrintBody()
+ {
+ LOG("CDirectPrintBody::~CDirectPrintBody begin");
+ delete iClassLoader;
+ iImageFileNames.ResetAndDestroy();
+ delete iIdleDiscovery;
+ LOG("CDirectPrintBody::~CDirectPrintBody end");
+ }
+
+TInt CDirectPrintBody::StartDiscovery(MPrinterDiscoveryObserver& aObserver, TUint aProtocols)
+ {
+ LOG1("CDirectPrintBody::StartDiscovery aProtocols: %d", aProtocols);
+ iPrinterDiscoveryObserver = &aObserver;
+
+ if( iCurrentProtocol )
+ {
+ iCurrentProtocol->CancelDiscovery( EFalse );
+ }
+
+ iCurrentProtocol = NULL;
+ iClassLoader->Reset();
+ iProtocolsRequested = aProtocols;
+ iDiscoveryCancelled = EFalse;
+ TryNextDiscovery();
+
+ LOG("CDirectPrintBody::StartDiscovery end");
+ return KErrNone;
+ }
+
+void CDirectPrintBody::CancelDiscovery()
+ {
+ LOG("CDirectPrintBody::CancelDiscovery begin");
+ iDiscoveryCancelled = ETrue;
+ if( iCurrentProtocol )
+ {
+ iCurrentProtocol->CancelDiscovery();
+ }
+ LOG("CDirectPrintBody::CancelDiscovery end");
+ }
+
+
+TInt CDirectPrintBody::CreatePrintJobL(TInt aPrinterID, RPointerArray<TDesC>& aImages, MPrintEventObserver& aObserver)
+ {
+ LOG("CDirectPrintBody::CreatePrintJobL begin");
+ iPrinterPrintEventObserver = &aObserver;
+ iCurrentPrintJobProtocol = NULL;
+
+ if( iCurrentProtocol )
+ {
+ iCurrentProtocol->CancelDiscovery( EFalse );
+ }
+
+#ifdef __IMAGE_PRINT_BASE
+ TInt DeviceID;
+ TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, iCurrentPrintJobProtocol );
+ if( !err )
+ {
+ TInt count = aImages.Count();
+ if( count )
+ {
+ iImageFileNames.ResetAndDestroy();
+ for( TInt i = 0; i < count; ++i )
+ {
+ HBufC* fileName = aImages[i]->AllocLC();
+ iImageFileNames.AppendL( fileName );
+ CleanupStack::Pop(); // fileName
+ }
+
+ ActiveScheduler().SetCurrentProtocol( iCurrentPrintJobProtocol->SupportedProtocols() );
+ err = iCurrentPrintJobProtocol->CreatePrintJobL( DeviceID, aImages, *this );
+ }
+ else
+ {
+ err = KErrInvalidData;
+ }
+ }
+#endif // __IMAGE_PRINT_BASE
+
+ TInt DeviceID;
+ TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, iCurrentPrintJobProtocol );
+ if( !err )
+ {
+ ActiveScheduler().SetCurrentProtocol( iCurrentPrintJobProtocol->SupportedProtocols() );
+ err = iCurrentPrintJobProtocol->CreatePrintJobL( DeviceID, aImages, *this );
+ }
+
+ LOG1("CDirectPrintBody::CreatePrintJobL return: %d", err);
+ return err;
+ }
+
+
+void CDirectPrintBody::SubmitPrintJobL()
+ {
+ LOG1("CDirectPrintBody::SubmitPrintJobL iCurrentPrintJobProtocol: %d", iCurrentPrintJobProtocol);
+ TInt err( KErrNone );
+
+ if( !iCurrentPrintJobProtocol )
+ {
+ err = KErrInvalidSequence;
+ }
+ if( !err )
+ {
+ TInt invalidImages;
+ err = ValidateImagesL( iImageFileNames, invalidImages );
+ LOG1("CDirectPrintBody::SubmitPrintJobL ValidateImagesL returns: %d", err);
+ }
+
+ User::LeaveIfError( err );
+
+ iCurrentPrintJobProtocol->SubmitPrintJobL();
+
+ LOG("CDirectPrintBody::SubmitPrintJobL end");
+ }
+
+
+TInt CDirectPrintBody::CancelPrintJob()
+ {
+ LOG("CDirectPrintBody::CancelPrintJob begin");
+ TInt err( KErrNone );
+ if( !iCurrentPrintJobProtocol )
+ {
+ err = KErrInvalidSequence;
+ }
+ if( !err )
+ {
+ err = iCurrentPrintJobProtocol->CancelPrintJob();
+ }
+ LOG1("CDirectPrintBody::CancelPrintJob return: %d", err);
+ return err;
+ }
+
+
+TInt CDirectPrintBody::ContinuePrintJobL()
+ {
+ LOG("CDirectPrintBody::ContinuePrintJobL begin");
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->ContinuePrintJobL();
+ }
+ LOG1("CDirectPrintBody::ContinuePrintJobL return: %d", err);
+ return err;
+ }
+
+
+TInt CDirectPrintBody::GetNumPrintPages()
+ {
+ LOG("CDirectPrintBody::GetNumPrintPages begin");
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->GetNumPrintPages();
+ }
+ LOG1("CDirectPrintBody::GetNumPrintPages return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetJobStatus()
+ {
+ LOG("CDirectPrintBody::GetJobStatus begin");
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->GetPrintJobStatus();
+ }
+ LOG1("CDirectPrintBody::GetJobStatus return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetPrinterStatus(TInt aPrinterID)
+ {
+ LOG1("CDirectPrintBody::GetPrinterStatus aPrinterID: %d", aPrinterID);
+ TInt DeviceID;
+ MProtPrintingDevice* theProtToQuery = NULL;
+ TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
+ if( !err )
+ {
+ err = theProtToQuery->GetPrinterStatus( DeviceID );
+ }
+ LOG1("CDirectPrintBody::GetPrinterStatus return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetPrinterCapabilityIDsL(TInt aPrinterID, RArray<TInt>& aCapabilityIDs)
+ {
+ LOG1("CDirectPrintBody::GetPrinterCapabilityIDsL aPrinterID: %d", aPrinterID);
+ TInt DeviceID;
+ MProtPrintingDevice* theProtToQuery = NULL;
+
+ TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
+ if( !err )
+ {
+ err = theProtToQuery->GetDeviceCapabilityIDsL( DeviceID, aCapabilityIDs );
+ }
+ else if( err == KErrNotFound )
+ {
+ err = KErrInvalidData;
+ }
+
+ LOG1("CDirectPrintBody::GetPrinterCapabilityIDsL return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetPrinterCapabilityL(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability)
+ {
+ LOG1("CDirectPrintBody::GetPrinterCapabilityL aPrinterID: %d", aPrinterID);
+ LOG1("CDirectPrintBody::GetPrinterCapabilityL aCapabilityID: %d", aCapabilityID);
+ TInt DeviceID;
+ MProtPrintingDevice* theProtToQuery = NULL;
+
+ TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
+ if( !err )
+ {
+ err = theProtToQuery->GetDeviceCapabilityL( DeviceID, aCapabilityID, aCapability );
+ }
+ else if( err == KErrNotFound )
+ {
+ err = KErrInvalidData;
+ }
+
+ LOG1("CDirectPrintBody::GetPrinterCapabilityL return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetJobSetting(TInt aCapabilityID, TInt& aValue)
+ {
+ LOG1("CDirectPrintBody::GetJobSetting aCapabilityID: %d", aCapabilityID);
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->GetJobSetting( aCapabilityID, aValue );
+ }
+ LOG1("CDirectPrintBody::GetJobSetting return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::SetJobSettingL(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability)
+ {
+ LOG1("CDirectPrintBody::SetJobSettingL aCapabilityID: %d", aCapabilityID);
+ LOG1("CDirectPrintBody::SetJobSettingL aValue: %d", aValue);
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->SetJobSettingL( aCapabilityID, aValue, aAffectedCapability );
+ }
+ LOG1("CDirectPrintBody::SetJobSettingL return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetNumPreviewPages()
+ {
+ LOG("CDirectPrintBody::GetNumPreviewPages");
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->GetNumPreviewPages();
+ }
+ LOG1("CDirectPrintBody::GetNumPreviewPages return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::GetJobTemplateIconL( TInt aTemplateID, TInt& aFbsBitmapHandle )
+ {
+ LOG1("CDirectPrintBody::GetJobTemplateIconL aTemplateID: %d", aTemplateID);
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->GetJobTemplateIconL( aTemplateID, aFbsBitmapHandle );
+ }
+ LOG1("CDirectPrintBody::GetJobTemplateIconL return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::CreatePreviewImage(TInt aPageNumber)
+ {
+ LOG1("CDirectPrintBody::CreatePreviewImage aPageNumber: %d", aPageNumber);
+ TInt err( KErrInvalidSequence );
+ if( iCurrentPrintJobProtocol )
+ {
+ err = iCurrentPrintJobProtocol->CreatePreviewImage(aPageNumber);
+ }
+ LOG1("CDirectPrintBody::CreatePreviewImage return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::RemoveCachedPrinterL(TInt aPrinterID)
+ {
+ LOG1("CDirectPrintBody::RemoveCachedPrinterL aPrinterID: %d", aPrinterID);
+ TInt DeviceID;
+ MProtPrintingDevice* theProtToQuery = NULL;
+ TInt err = FindInternalDeviceReference( aPrinterID, DeviceID, theProtToQuery );
+ if( !err )
+ {
+ err = theProtToQuery->RemoveCachedDeviceL( DeviceID );
+ }
+ LOG1("CDirectPrintBody::RemoveCachedPrinterL return: %d", err);
+ return err;
+ }
+
+TUint CDirectPrintBody::SupportedProtocols()
+ {
+ LOG("CDirectPrintBody::SupportedProtocols begin");
+ TUint prots = iClassLoader->SupportedProtocols();
+ LOG1("CDirectPrintBody::SupportedProtocols return: %d", prots);
+ return prots;
+ }
+
+void CDirectPrintBody::RegisterIdleObserver(MIdleObserver *aObserver)
+ {
+ LOG("CDirectPrintBody::RegisterIdleObserver begin");
+ iPrinterIdleObserver = aObserver;
+ LOG("CDirectPrintBody::RegisterIdleObserver end");
+ }
+
+// From MProtDiscoveryObserver.
+void CDirectPrintBody::FoundDeviceL(TPrinter& aDeviceInfo)
+ {
+ LOG("CDirectPrintBody::FoundDeviceL begin");
+ if( iPrinterDiscoveryObserver )
+ {
+ //Check that device id is valid, there can't be any bits in the protocol field (higher bits)
+ if( !( PROTOCOL_ID_FIELD_MASK & aDeviceInfo.iPrinterID ) )
+ {
+ // Get the protocol index number
+ TInt protocolIndex = iClassLoader->GetProtocolIndex();
+
+ // Left shift this number so that it occupies the higher X bits (the PROTOCOL_ID_BIT_COUNT highest bits)
+ protocolIndex <<= sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT;
+
+ // Add the protocol index number to the device id
+ aDeviceInfo.iPrinterID |= protocolIndex;
+
+ // Forward the FoundPrinterL callback to the observer
+ iPrinterDiscoveryObserver->FoundPrinterL( aDeviceInfo );
+ }
+ }
+ LOG("CDirectPrintBody::FoundDeviceL end");
+ }
+
+void CDirectPrintBody::DiscoveryStatusL( TInt aStatus, TInt aErrorCode, TInt aErrorStringCode )
+ {
+ LOG1("CDirectPrintBody::DiscoveryStatusL aStatus: %d", aStatus);
+ LOG1("CDirectPrintBody::DiscoveryStatusL aErrorCode: %d", aErrorCode);
+ LOG1("CDirectPrintBody::DiscoveryStatusL aErrorStringCode: %d", aErrorStringCode);
+ if( iPrinterDiscoveryObserver )
+ {
+ switch( aStatus )
+ {
+ case EDiscoveryFinished: // Done with 1 protocol.
+ {
+ // When Bluetooth discovery is finished, but Bluetooth is not enabled pass error code to UI.
+ if ( aErrorCode == ENoConnection )
+ {
+ iPrinterDiscoveryObserver->DiscoveryStatusL( aStatus, aErrorCode, aErrorStringCode );
+ }
+ iCurrentProtocol = NULL;
+ TUint doDiscovery = iProtocolsRequested & iClassLoader->SupportedProtocols();
+ LOG1("CDirectPrintBody::DiscoveryStatusL doDiscovery: %d", doDiscovery);
+ LOG1("CDirectPrintBody::DiscoveryStatusL iDiscoveryCancelled: %d", iDiscoveryCancelled);
+ if( ( !doDiscovery && aErrorCode == KErrCancel ) || iDiscoveryCancelled )
+ {
+ iPrinterDiscoveryObserver->DiscoveryStatusL( aStatus, aErrorCode, aErrorStringCode );
+ }
+ else
+ {
+ TryNextDiscovery();
+ }
+ }
+ break;
+ default: // Discovering, Cancelling.
+ iCurrentProtocol = NULL;
+ iPrinterDiscoveryObserver->DiscoveryStatusL( aStatus, aErrorCode, aErrorStringCode );
+ break;
+ }
+ }
+ LOG("CDirectPrintBody::DiscoveryStatusL end");
+ }
+
+
+void CDirectPrintBody::RemoveDeviceL(TPrinter& aDeviceInfo)
+ {
+ LOG("CDirectPrintBody::RemoveDeviceL begin");
+ if( iPrinterDiscoveryObserver )
+ {
+ if (PROTOCOL_ID_FIELD_MASK & aDeviceInfo.iPrinterID)
+ { //Invalid id, reject printer
+ }
+ else
+ { // Get the protocol index number
+ TInt protocolIndex = iClassLoader->GetProtocolIndex();
+
+ // Left shift this number so that it occupies the higher X bits (the PROTOCOL_ID_BIT_COUNT highest bits)
+ protocolIndex <<= sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT;
+
+ // Add the protocol index number to the device id
+ aDeviceInfo.iPrinterID |= protocolIndex;
+
+ // Forward the RemovePrinterL callback to the observer
+ iPrinterDiscoveryObserver->RemovePrinterL( aDeviceInfo );
+ }
+ }
+ LOG("CDirectPrintBody::RemoveDeviceL end");
+ }
+
+// From MProtPrintEventObserver.
+void CDirectPrintBody::PrintJobProgressEvent(TInt aStatus, TInt aPercent, TInt aJobStateCode)
+ {
+ LOG1("CDirectPrintBody::PrintJobProgressEvent aStatus: %d", aStatus);
+ LOG1("CDirectPrintBody::PrintJobProgressEvent aPercent: %d", aPercent);
+ LOG1("CDirectPrintBody::PrintJobProgressEvent aJobStateCode: %d", aJobStateCode);
+ if( iPrinterPrintEventObserver )
+ iPrinterPrintEventObserver->PrintJobProgressEvent(aStatus, aPercent, aJobStateCode);
+ LOG("CDirectPrintBody::PrintJobProgressEvent end");
+ }
+
+void CDirectPrintBody::PrintJobErrorEvent(TInt aErrorCode, TInt aErrorStringCode)
+ {
+ LOG1("CDirectPrintBody::PrintJobErrorEvent aErrorCode: %d", aErrorCode);
+ LOG1("CDirectPrintBody::PrintJobErrorEvent aErrorStringCode: %d", aErrorStringCode);
+ if( iPrinterPrintEventObserver )
+ iPrinterPrintEventObserver->PrintJobErrorEvent(aErrorCode, aErrorStringCode);
+ LOG("CDirectPrintBody::PrintJobErrorEvent end");
+ }
+
+void CDirectPrintBody::PrinterStatusEvent(TInt aErrorCode, TInt aErrorStringCode)
+ {
+ LOG1("CDirectPrintBody::PrinterStatusEvent aErrorCode: %d", aErrorCode);
+ LOG1("CDirectPrintBody::PrinterStatusEvent aErrorStringCode: %d", aErrorStringCode);
+ if( iPrinterPrintEventObserver )
+ iPrinterPrintEventObserver->PrinterStatusEvent(aErrorCode, aErrorStringCode);
+ LOG("CDirectPrintBody::PrinterStatusEvent end");
+ }
+
+void CDirectPrintBody::PreviewImageEvent(TInt aFsBitmapHandle)
+ {
+ LOG1("CDirectPrintBody::PreviewImageEvent aFsBitmapHandle: %d", aFsBitmapHandle);
+ if( iPrinterPrintEventObserver )
+ iPrinterPrintEventObserver->PreviewImageEvent(aFsBitmapHandle);
+ LOG("CDirectPrintBody::PreviewImageEvent end");
+ }
+
+void CDirectPrintBody::ShowMessageL(TInt aMsgLine1Code, TInt aMsgLine2Code)
+ {
+ LOG1("CDirectPrintBody::ShowMessageL aMsgLine1Code: %d", aMsgLine1Code);
+ LOG1("CDirectPrintBody::ShowMessageL aMsgLine2Code: %d", aMsgLine2Code);
+ if( iPrinterPrintEventObserver )
+ iPrinterPrintEventObserver->ShowMessageL(aMsgLine1Code, aMsgLine2Code);
+ LOG("CDirectPrintBody::ShowMessageL end");
+ }
+
+TBool CDirectPrintBody::AskYesNoQuestionL(TInt aMsgLine1Code, TInt aMsgLine2Code)
+ {
+ LOG1("CDirectPrintBody::AskYesNoQuestionL aMsgLine1Code: %d", aMsgLine1Code);
+ LOG1("CDirectPrintBody::AskYesNoQuestionL aMsgLine2Code: %d", aMsgLine2Code);
+ TBool res( EFalse );
+ if( iPrinterPrintEventObserver )
+ {
+ res = iPrinterPrintEventObserver->AskYesNoQuestionL(aMsgLine1Code, aMsgLine2Code);
+ }
+ LOG1("CDirectPrintBody::AskYesNoQuestionL return: %d", res);
+ return res;
+ }
+
+const TDesC& CDirectPrintBody::AskForInputL(TInt aMsgLine1Code, TInt aMsgLine2Code)
+ {
+ LOG1("CDirectPrintBody::ShowMessageL aMsgLine1Code: %d", aMsgLine1Code);
+ LOG1("CDirectPrintBody::ShowMessageL aMsgLine2Code: %d", aMsgLine2Code);
+ if( iPrinterPrintEventObserver )
+ {
+ return iPrinterPrintEventObserver->AskForInputL(aMsgLine1Code, aMsgLine2Code);
+ }
+ else
+ {
+ return KNullDesC;
+ }
+ }
+
+void CDirectPrintBody::StatusEvent(const TEvent& aEvent, TInt aError, TInt aMsgCode)
+ {
+ LOG1("CDirectPrintBody::StatusEvent aError: %d", aError);
+ LOG1("CDirectPrintBody::StatusEvent aMsgCode: %d", aMsgCode);
+ LOG1("CDirectPrintBody::StatusEvent aEvent.iProtocol: %d", aEvent.iProtocol);
+ LOG1("CDirectPrintBody::StatusEvent aEvent.iSeverity: %d", aEvent.iSeverity);
+ LOG1("CDirectPrintBody::StatusEvent aEvent.iEventType: %d", aEvent.iEventType);
+
+ if( iPrinterIdleObserver )
+ {
+ iPrinterIdleObserver->StatusEvent( aEvent, aError, aMsgCode );
+ }
+
+ if( aEvent.iEventType == EAsynchronousLeave )
+ {
+ // a protocol threw an async leave
+ // we continue with other protocols
+ TUint doDiscovery = iProtocolsRequested & iClassLoader->SupportedProtocols();
+ if( doDiscovery ) TryNextDiscovery();
+ }
+ LOG("CDirectPrintBody::StatusEvent end");
+ }
+
+CDirectPrintBody::CDirectPrintBody()
+ : iCurrentProtocol( NULL )
+ , iCurrentPrintJobProtocol( NULL )
+ {
+ LOG("CDirectPrintBody::CDirectPrintBody begin");
+ LOG("CDirectPrintBody::CDirectPrintBody end");
+ }
+
+void CDirectPrintBody::ConstructL()
+ {
+ LOG("CDirectPrintBody::ConstructL begin");
+ iClassLoader = CDirectPrintProtocolsLoader::NewL();
+ iClassLoader->Reset();
+ for( TInt x=0; x < iClassLoader->GetNumberOfProtocolsAvailable(); ++x )
+ {
+ iClassLoader->GetNextProtocol()->RegisterIdleObserver( this );
+ }
+
+ iIdleDiscovery = CIdle::NewL( CActive::EPriorityIdle );
+ ActiveScheduler().SetIdleObserver( *this );
+ LOG("CDirectPrintBody::ConstructL end");
+ }
+
+CDirectPrintScheduler& CDirectPrintBody::ActiveScheduler() const
+ {
+ LOG("CDirectPrintBody::ActiveScheduler begin");
+ CDirectPrintScheduler* scheduler = static_cast<CDirectPrintScheduler*>( CActiveScheduler::Current() );
+ LOG("CDirectPrintBody::ActiveScheduler end");
+ return *scheduler;
+ }
+
+TInt CDirectPrintBody::FindInternalDeviceReference(TInt aExternalDeviceID, TInt& aInternalDeviceID, MProtPrintingDevice*& aProtToUse)
+ {
+ LOG1("CDirectPrintBody::FindInternalDeviceReference aExternalDeviceID: %d", aExternalDeviceID);
+ TInt err( KErrNotFound );
+
+#ifdef __IMAGE_PRINT_BASE
+ aProtToUse = NULL;
+
+ // Separate the external id into the corresponding fields
+ TInt protId = aExternalDeviceID & PROTOCOL_ID_FIELD_MASK;
+
+ TInt deviceId = aExternalDeviceID & DEVICE_ID_FIELD_MASK;
+ protId >>= (sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT);
+ // If TInt is more than 4 bytes the mask should clear everything but the 6 least significant bits
+ protId &= PROTOCOL_ID_CLEAR_MASK; //remove 1's if the original protId was negative
+
+ // Check that the external ID does indeed belong to one of the currently
+ // loaded protocols
+ if( protId >= 0 && protId < iClassLoader->GetNumberOfProtocolsAvailable() )
+ {
+ aInternalDeviceID = deviceId;
+ aProtToUse = iClassLoader->GetProtocolAt(protId);
+ if( aProtToUse ) err = KErrNone;
+ }
+#endif // __IMAGE_PRINT_BASE
+#if 1 // ko
+ TInt protId = aExternalDeviceID & PROTOCOL_ID_FIELD_MASK;
+ protId >>= (sizeof(TInt)*8 - PROTOCOL_ID_BIT_COUNT);
+ protId &= PROTOCOL_ID_CLEAR_MASK;
+ if( protId >= 0 && protId < iClassLoader->GetNumberOfProtocolsAvailable() )
+ {
+ aInternalDeviceID = 128;
+ aProtToUse = iClassLoader->GetProtocolAt(protId);
+ if( aProtToUse ) err = KErrNone;
+ }
+#else // ko
+ aInternalDeviceID = 128;
+ aProtToUse = iClassLoader->GetProtocolAt(0);
+ if( aProtToUse ) err = KErrNone;
+#endif // ko
+ LOG1("CDirectPrintBody::FindInternalDeviceReference return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintBody::ValidateImagesL(const RPointerArray<HBufC>& aImageList, TInt &aInvalidCount)
+ {
+ LOG1("CDirectPrintBody::ValidateImagesL aImageList.Count(): %d", aImageList.Count());
+ aInvalidCount = 0;
+ TInt lastError = KErrNone;
+ CDirectPrintRsImageParser *imageParser = CDirectPrintRsImageParser::NewLC();
+
+ for( TInt nCnt=0; nCnt < aImageList.Count(); ++nCnt )
+ {
+ LOG1("CDirectPrintBody::ValidateImagesL nCnt: %d", nCnt);
+ LOG1("CDirectPrintBody::ValidateImagesL image: %S", aImageList[nCnt]);
+ TBool valid;
+ imageParser->ValidateL(*(aImageList[nCnt]), valid, lastError);
+ LOG1("CDirectPrintBody::ValidateImagesL valid: %d", valid);
+ LOG1("CDirectPrintBody::ValidateImagesL lastError: %d", lastError);
+ if( !valid )
+ {
+ ++aInvalidCount;
+ }
+ }
+
+ CleanupStack::PopAndDestroy(imageParser);
+ LOG1("CDirectPrintBody::ValidateImagesL aInvalidCount: %d", aInvalidCount);
+ LOG1("CDirectPrintBody::ValidateImagesL ends with: %d", lastError);
+ return lastError;
+ }
+
+void CDirectPrintBody::TryNextDiscovery()
+ {
+ LOG("CDirectPrintBody::TryNextDiscovery begin");
+ iIdleDiscovery->Cancel();
+ iIdleDiscovery->Start(TCallBack(TryNextDiscoveryL, this));
+ LOG("CDirectPrintBody::TryNextDiscovery end");
+ }
+
+void CDirectPrintBody::DoTryNextDiscoveryL()
+ {
+ LOG("CDirectPrintBody::DoTryNextDiscoveryL begin");
+ TUint doDiscovery = iProtocolsRequested & iClassLoader->SupportedProtocols();
+ LOG1("CDirectPrintBody::DoTryNextDiscoveryL doDiscovery: %d", doDiscovery);
+ if( doDiscovery )
+ {
+ TBool found( EFalse );
+ TInt protId( 0 );
+ TInt count = iClassLoader->GetNumberOfProtocolsAvailable();
+ LOG1("CDirectPrintBody::DoTryNextDiscoveryL count: %d", count);
+ for( TInt i = 0; i < count && !found; i++ )
+ {
+ iCurrentProtocol = iClassLoader->GetNextProtocol();
+ protId = iCurrentProtocol->SupportedProtocols();
+ if( iProtocolsRequested & protId ) found = ETrue;
+ }
+ LOG1("CDirectPrintBody::DoTryNextDiscoveryL found: %d", found);
+ LOG1("CDirectPrintBody::DoTryNextDiscoveryL protId: %d", protId);
+ if( found )
+ {
+ TUint temp = KMaxTUint ^ protId;
+ iProtocolsRequested &= temp;
+ LOG1("CDirectPrintBody::DoTryNextDiscoveryL iProtocolsRequested: %d", iProtocolsRequested);
+ ActiveScheduler().SetCurrentProtocol( protId );
+ iCurrentProtocol->StartDiscoveryL( *this, protId );
+ }
+ }
+ else
+ {
+ iPrinterDiscoveryObserver->DiscoveryStatusL( EDiscoveryFinished, 0, 0 );
+ }
+ LOG("CDirectPrintBody::DoTryNextDiscoveryL end");
+ }
+
+TInt CDirectPrintBody::TryNextDiscoveryL(TAny* aObj)
+ {
+ LOG("CDirectPrintBody::TryNextDiscoveryL begin");
+ CDirectPrintBody* obj = static_cast<CDirectPrintBody*>(aObj);
+ obj->DoTryNextDiscoveryL();
+ LOG("CDirectPrintBody::TryNextDiscoveryL end");
+ return EFalse;
+ }
+
+void CDirectPrintBody::SetNumsOfCopiesL( const RArray<TInt>& aNumsOfCopies, TInt& aErr )
+ {
+ LOG1("CDirectPrintBody::SetNumberOfCopiesL aNumsOfCopies.Count(): %d", aNumsOfCopies.Count());
+
+ if( iCurrentPrintJobProtocol )
+ {
+ iCurrentPrintJobProtocol->SetNumsOfCopiesL( aNumsOfCopies, aErr );
+ LOG1("CDirectPrintBody::SetNumberOfCopiesL aErr: %d", aErr);
+ }
+
+ LOG("CDirectPrintBody::SetNumberOfCopiesL end");
+ }
+
+void CDirectPrintBody::HandleSessionDisconnect( const MIdleObserver* aIdleObserver,
+ const MPrinterDiscoveryObserver* aDiscoveryObserver,
+ const MPrintEventObserver* aEventObserver )
+ {
+ LOG1("CDirectPrintBody::HandleSessionDisconnect aIdleObserver address: %d", aIdleObserver);
+ LOG1("CDirectPrintBody::HandleSessionDisconnect iPrinterIdleObserver address: %d", iPrinterIdleObserver);
+ LOG1("CDirectPrintBody::HandleSessionDisconnect aDiscoveryObserver address: %d", aDiscoveryObserver);
+ LOG1("CDirectPrintBody::HandleSessionDisconnect iPrinterDiscoveryObserver address: %d", iPrinterDiscoveryObserver);
+ LOG1("CDirectPrintBody::HandleSessionDisconnect aEventObserver address: %d", aEventObserver);
+ LOG1("CDirectPrintBody::HandleSessionDisconnect iPrinterPrintEventObserver address: %d", iPrinterPrintEventObserver);
+ if( aIdleObserver == iPrinterIdleObserver ) iPrinterIdleObserver = NULL;
+ if( aEventObserver == iPrinterPrintEventObserver ) iPrinterPrintEventObserver = NULL;
+ if( aDiscoveryObserver == iPrinterDiscoveryObserver ) iPrinterDiscoveryObserver = NULL;
+ LOG("CDirectPrintBody::HandleSessionDisconnect end");
+ }
+
+TInt CDirectPrintBody::ProtocolCount()
+ {
+ return iClassLoader->GetNumberOfProtocolsAvailable();
+ }
+
+TInt CDirectPrintBody::GetProtocolNameL( TDpMessage& aMessage )
+ {
+ TDirectPrintSelectItem item;
+ TInt index = aMessage.Int0();
+ TInt err = iClassLoader->GetProtocolName(index, item.iName, item.iId);
+
+ if (err == KErrNone)
+ {
+ TPtr8 ptr(reinterpret_cast<TUint8*>(&item), sizeof(item), sizeof(item));
+ aMessage.WriteL( 1, ptr );
+ }
+
+ return err;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintmessage.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintmessage.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,143 +1,143 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <e32cmn.h>
-
-#include "directprintmessage.h"
-#include "clog.h"
-
-TDpMessage::TDpMessage( const RMessage2& aMessage,
- const TBool& aConnected ) :
- iConnected( aConnected ),
- iDisposable( EFalse )
-
- {
- iMessage = aMessage;
- }
-
-void TDpMessage::WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset) const
- {
- LOG("TDpMessage::WriteL begin");
- LOG1("TDpMessage::WriteL iConnected: %d", iConnected);
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::WriteL iMessage.Function(): %d", iMessage.Function());
- iMessage.WriteL( aParam, aDes, aOffset );
- }
- LOG("TDpMessage::WriteL end");
- }
-
-void TDpMessage::Complete(TInt aReason) const
- {
- LOG("TDpMessage::Complete begin");
- LOG1("TDpMessage::Complete iConnected: %d", iConnected);
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::Complete iMessage.Function(): %d", iMessage.Function());
- iMessage.Complete( aReason );
- }
- LOG("TDpMessage::Complete end");
- }
-
-TInt TDpMessage::Int0() const
- {
- LOG("TDpMessage::Int0 begin");
- LOG1("TDpMessage::Int0 iConnected: %d", iConnected);
- TInt value( 0 );
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::Int0 iMessage.Function(): %d", iMessage.Function());
- value = iMessage.Int0();
- }
- LOG("TDpMessage::Int0 end");
- return value;
- }
-
-TInt TDpMessage::Int1() const
- {
- LOG("TDpMessage::Int1 begin");
- LOG1("TDpMessage::Int1 iConnected: %d", iConnected);
- TInt value( 0 );
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::Int1 iMessage.Function(): %d", iMessage.Function());
- value = iMessage.Int1();
- }
- LOG("TDpMessage::Int1 end");
- return value;
- }
-
-TInt TDpMessage::GetDesLength(TInt aParam) const
- {
- LOG("TDpMessage::GetDesLength begin");
- LOG1("TDpMessage::GetDesLength iConnected: %d", iConnected);
- TInt value( 0 );
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::GetDesLength iMessage.Function(): %d", iMessage.Function());
- value = iMessage.GetDesLength( aParam );
- }
- LOG("TDpMessage::GetDesLength end");
- return value;
- }
-
-void TDpMessage::ReadL(TInt aParam, TDes8 &aDes, TInt aOffset) const
- {
- LOG("TDpMessage::ReadL TDes8 begin");
- LOG1("TDpMessage::ReadL TDes8 iConnected: %d", iConnected);
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::ReadL TDes8 iMessage.Function(): %d", iMessage.Function());
- iMessage.ReadL( aParam, aDes, aOffset );
- }
- LOG("TDpMessage::ReadL TDes8 end");
- }
-
-void TDpMessage::ReadL(TInt aParam, TDes16 &aDes, TInt aOffset) const
- {
- LOG("TDpMessage::ReadL TDes16 begin");
- LOG1("TDpMessage::ReadL TDes16 iConnected: %d", iConnected);
- if( !iMessage.IsNull() && iConnected )
- {
- LOG1("TDpMessage::ReadL TDes16 iMessage.Function(): %d", iMessage.Function());
- iMessage.ReadL( aParam, aDes, aOffset );
- }
- LOG("TDpMessage::ReadL TDes16 end");
- }
-
-TInt TDpMessage::Function() const
- {
- return iMessage.Function();
- }
-
-void TDpMessage::SetDisposable( TBool aDisposable )
- {
- iDisposable = aDisposable;
- }
-
-TBool TDpMessage::Disposable() const
- {
- return iDisposable;
- }
-
-void TDpMessage::Panic(const TDesC &aCategory, TInt aReason) const
- {
- iMessage.Panic( aCategory, aReason );
- }
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <e32cmn.h>
+
+#include "directprintmessage.h"
+#include "clog.h"
+
+TDpMessage::TDpMessage( const RMessage2& aMessage,
+ const TBool& aConnected ) :
+ iConnected( aConnected ),
+ iDisposable( EFalse )
+
+ {
+ iMessage = aMessage;
+ }
+
+void TDpMessage::WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset) const
+ {
+ LOG("TDpMessage::WriteL begin");
+ LOG1("TDpMessage::WriteL iConnected: %d", iConnected);
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::WriteL iMessage.Function(): %d", iMessage.Function());
+ iMessage.WriteL( aParam, aDes, aOffset );
+ }
+ LOG("TDpMessage::WriteL end");
+ }
+
+void TDpMessage::Complete(TInt aReason) const
+ {
+ LOG("TDpMessage::Complete begin");
+ LOG1("TDpMessage::Complete iConnected: %d", iConnected);
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::Complete iMessage.Function(): %d", iMessage.Function());
+ iMessage.Complete( aReason );
+ }
+ LOG("TDpMessage::Complete end");
+ }
+
+TInt TDpMessage::Int0() const
+ {
+ LOG("TDpMessage::Int0 begin");
+ LOG1("TDpMessage::Int0 iConnected: %d", iConnected);
+ TInt value( 0 );
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::Int0 iMessage.Function(): %d", iMessage.Function());
+ value = iMessage.Int0();
+ }
+ LOG("TDpMessage::Int0 end");
+ return value;
+ }
+
+TInt TDpMessage::Int1() const
+ {
+ LOG("TDpMessage::Int1 begin");
+ LOG1("TDpMessage::Int1 iConnected: %d", iConnected);
+ TInt value( 0 );
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::Int1 iMessage.Function(): %d", iMessage.Function());
+ value = iMessage.Int1();
+ }
+ LOG("TDpMessage::Int1 end");
+ return value;
+ }
+
+TInt TDpMessage::GetDesLength(TInt aParam) const
+ {
+ LOG("TDpMessage::GetDesLength begin");
+ LOG1("TDpMessage::GetDesLength iConnected: %d", iConnected);
+ TInt value( 0 );
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::GetDesLength iMessage.Function(): %d", iMessage.Function());
+ value = iMessage.GetDesLength( aParam );
+ }
+ LOG("TDpMessage::GetDesLength end");
+ return value;
+ }
+
+void TDpMessage::ReadL(TInt aParam, TDes8 &aDes, TInt aOffset) const
+ {
+ LOG("TDpMessage::ReadL TDes8 begin");
+ LOG1("TDpMessage::ReadL TDes8 iConnected: %d", iConnected);
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::ReadL TDes8 iMessage.Function(): %d", iMessage.Function());
+ iMessage.ReadL( aParam, aDes, aOffset );
+ }
+ LOG("TDpMessage::ReadL TDes8 end");
+ }
+
+void TDpMessage::ReadL(TInt aParam, TDes16 &aDes, TInt aOffset) const
+ {
+ LOG("TDpMessage::ReadL TDes16 begin");
+ LOG1("TDpMessage::ReadL TDes16 iConnected: %d", iConnected);
+ if( !iMessage.IsNull() && iConnected )
+ {
+ LOG1("TDpMessage::ReadL TDes16 iMessage.Function(): %d", iMessage.Function());
+ iMessage.ReadL( aParam, aDes, aOffset );
+ }
+ LOG("TDpMessage::ReadL TDes16 end");
+ }
+
+TInt TDpMessage::Function() const
+ {
+ return iMessage.Function();
+ }
+
+void TDpMessage::SetDisposable( TBool aDisposable )
+ {
+ iDisposable = aDisposable;
+ }
+
+TBool TDpMessage::Disposable() const
+ {
+ return iDisposable;
+ }
+
+void TDpMessage::Panic(const TDesC &aCategory, TInt aReason) const
+ {
+ iMessage.Panic( aCategory, aReason );
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintnumofcopies.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintnumofcopies.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,67 +1,67 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "directprintnumofcopies.h"
-#include "clog.h"
-
-CDirectPrintNumOfCopies* CDirectPrintNumOfCopies::NewL()
- {
- CDirectPrintNumOfCopies* obj = new (ELeave) CDirectPrintNumOfCopies();
- CleanupStack::PushL( obj ) ;
- obj->ConstructL();
- CleanupStack::Pop(); // obj
- return obj;
- }
-
-CDirectPrintNumOfCopies::~CDirectPrintNumOfCopies()
- {
- LOG("CDirectPrintNumOfCopies::~CDirectPrintNumOfCopies begin");
- iNumsOfCopies.Close();
- LOG("CDirectPrintNumOfCopies::~CDirectPrintNumOfCopies end");
- }
-
-CDirectPrintNumOfCopies::CDirectPrintNumOfCopies() : iCount( 0 )
- {
- }
-
-void CDirectPrintNumOfCopies::ConstructL()
- {
- }
-
-void CDirectPrintNumOfCopies::Reset( TInt aCount )
- {
- LOG("CDirectPrintNumOfCopies::Reset begin");
- iCount = aCount;
- iNumsOfCopies.Reset();
- LOG("CDirectPrintNumOfCopies::Reset end");
- }
-
-void CDirectPrintNumOfCopies::AddNumOfCopyL( TInt aNumOfCopies, TBool& aFull )
- {
- LOG1("CDirectPrintNumOfCopies::AddNumOfCopyL aNumOfCopies: %d", aNumOfCopies);
- iNumsOfCopies.AppendL( aNumOfCopies );
- aFull = ( iNumsOfCopies.Count() == iCount ) ? ETrue : EFalse;
- LOG1("CDirectPrintNumOfCopies::AddNumOfCopyL end with aFull: %d", aFull);
- }
-
-const RArray<TInt>& CDirectPrintNumOfCopies::NumsOfCopies() const
- {
- return iNumsOfCopies;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "directprintnumofcopies.h"
+#include "clog.h"
+
+CDirectPrintNumOfCopies* CDirectPrintNumOfCopies::NewL()
+ {
+ CDirectPrintNumOfCopies* obj = new (ELeave) CDirectPrintNumOfCopies();
+ CleanupStack::PushL( obj ) ;
+ obj->ConstructL();
+ CleanupStack::Pop(); // obj
+ return obj;
+ }
+
+CDirectPrintNumOfCopies::~CDirectPrintNumOfCopies()
+ {
+ LOG("CDirectPrintNumOfCopies::~CDirectPrintNumOfCopies begin");
+ iNumsOfCopies.Close();
+ LOG("CDirectPrintNumOfCopies::~CDirectPrintNumOfCopies end");
+ }
+
+CDirectPrintNumOfCopies::CDirectPrintNumOfCopies() : iCount( 0 )
+ {
+ }
+
+void CDirectPrintNumOfCopies::ConstructL()
+ {
+ }
+
+void CDirectPrintNumOfCopies::Reset( TInt aCount )
+ {
+ LOG("CDirectPrintNumOfCopies::Reset begin");
+ iCount = aCount;
+ iNumsOfCopies.Reset();
+ LOG("CDirectPrintNumOfCopies::Reset end");
+ }
+
+void CDirectPrintNumOfCopies::AddNumOfCopyL( TInt aNumOfCopies, TBool& aFull )
+ {
+ LOG1("CDirectPrintNumOfCopies::AddNumOfCopyL aNumOfCopies: %d", aNumOfCopies);
+ iNumsOfCopies.AppendL( aNumOfCopies );
+ aFull = ( iNumsOfCopies.Count() == iCount ) ? ETrue : EFalse;
+ LOG1("CDirectPrintNumOfCopies::AddNumOfCopyL end with aFull: %d", aFull);
+ }
+
+const RArray<TInt>& CDirectPrintNumOfCopies::NumsOfCopies() const
+ {
+ return iNumsOfCopies;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintprotocolinfo.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintprotocolinfo.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,56 +1,56 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "directprintprotocolinfo.h"
-
-CDirectPrintProtocolInfo::CDirectPrintProtocolInfo()
- {
- }
-
-CDirectPrintProtocolInfo::~CDirectPrintProtocolInfo()
- {
- delete iDisplayName;
- }
-
-CDirectPrintProtocolInfo* CDirectPrintProtocolInfo::NewLC(const CImplementationInformation& aImplInfo)
- {
- CDirectPrintProtocolInfo* self = new (ELeave) CDirectPrintProtocolInfo();
- CleanupStack::PushL(self);
-
- self->iImplementationUid = aImplInfo.ImplementationUid();
-
- if(aImplInfo.DisplayName().Length() != 0)
- {
- self->iDisplayName = aImplInfo.DisplayName().AllocL();
- }
-
- return self;
- }
-
-TUid CDirectPrintProtocolInfo::ImplementationUid() const
- {
- return iImplementationUid;
- }
-
-const TDesC& CDirectPrintProtocolInfo::DisplayName() const
- {
- if(iDisplayName == NULL)
- return KNullDesC();
- else
- return *iDisplayName;
- }
-
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "directprintprotocolinfo.h"
+
+CDirectPrintProtocolInfo::CDirectPrintProtocolInfo()
+ {
+ }
+
+CDirectPrintProtocolInfo::~CDirectPrintProtocolInfo()
+ {
+ delete iDisplayName;
+ }
+
+CDirectPrintProtocolInfo* CDirectPrintProtocolInfo::NewLC(const CImplementationInformation& aImplInfo)
+ {
+ CDirectPrintProtocolInfo* self = new (ELeave) CDirectPrintProtocolInfo();
+ CleanupStack::PushL(self);
+
+ self->iImplementationUid = aImplInfo.ImplementationUid();
+
+ if(aImplInfo.DisplayName().Length() != 0)
+ {
+ self->iDisplayName = aImplInfo.DisplayName().AllocL();
+ }
+
+ return self;
+ }
+
+TUid CDirectPrintProtocolInfo::ImplementationUid() const
+ {
+ return iImplementationUid;
+ }
+
+const TDesC& CDirectPrintProtocolInfo::DisplayName() const
+ {
+ if(iDisplayName == NULL)
+ return KNullDesC();
+ else
+ return *iDisplayName;
+ }
+
--- a/DirectPrint/DirectPrintServer/src/directprintprotocolsloader.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintprotocolsloader.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,241 +1,241 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the CDirectPrintProtocolsLoader class definition.
-*
-*/
-
-
-#include <ecom/ecom.h>
-
-#include "directprintprotocolsloader.h"
-#include "mprotprintingdevice.h"
-#include "clog.h"
-#include "imageprint.h"
-
-namespace
- {
- const TUid KDirectPrintEcomUid = { 0x10208A1E };
- }
-
-CDirectPrintProtocolsLoader* CDirectPrintProtocolsLoader::NewL()
- {
- LOG("[CDirectPrintProtocolsLoader::NewL]\t Begin");
- CDirectPrintProtocolsLoader* self = new (ELeave) CDirectPrintProtocolsLoader();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- LOG("[CDirectPrintProtocolsLoader::NewL]\t End");
- return self;
- }
-
-
-CDirectPrintProtocolsLoader::~CDirectPrintProtocolsLoader()
- {
- LOG("[CDirectPrintProtocolsLoader::~CDirectPrintProtocolsLoader]\t Begin");
- iProtocols.ResetAndDestroy();
- iProtocolInfos.ResetAndDestroy();
- LOG("[CDirectPrintProtocolsLoader::~CDirectPrintProtocolsLoader]\t End");
- }
-
-
-TInt CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable() const
- {
- LOG("[CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable]\t Begin");
- LOG1("[CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable]\t return: %d", iAvailableProtocols);
- LOG("[CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable]\t End");
- return iAvailableProtocols;
- }
-
-
-MProtPrintingDevice* CDirectPrintProtocolsLoader::GetNextProtocol()
- {
- LOG("[CDirectPrintProtocolsLoader::GetNextProtocol]\t Begin");
- if (iAvailableProtocols <= 0)
- return NULL;
-
- if (iProtIndex == iAvailableProtocols)
- iProtIndex = 0;
-
- MProtPrintingDevice* temp = iProtocols[iProtIndex];
- iProtIndex++;
- LOG("[CDirectPrintProtocolsLoader::GetNextProtocol]\t End");
- return temp;
- }
-
-
-MProtPrintingDevice* CDirectPrintProtocolsLoader::GetProtocolAt(TInt aIndex)
- {
- LOG("[CDirectPrintProtocolsLoader::GetProtocolAt]\t Begin");
- if( iAvailableProtocols <= 0 ) return NULL;
-
- MProtPrintingDevice* temp = NULL;
-
- if (aIndex < 0)
- temp = (MProtPrintingDevice*) iProtocols[0];
- else
- if (aIndex >= iAvailableProtocols)
- temp = (MProtPrintingDevice*) iProtocols[iAvailableProtocols - 1];
- else
- temp = (MProtPrintingDevice*) iProtocols[aIndex];
-
- LOG("[CDirectPrintProtocolsLoader::GetProtocolAt]\t End");
- return temp;
-
- }
-
-
-void CDirectPrintProtocolsLoader::Reset()
- {
- LOG("[CDirectPrintProtocolsLoader::Reset]\t Begin");
- iProtIndex = 0;
- LOG("[CDirectPrintProtocolsLoader::Reset]\t End");
- }
-
-
-TInt CDirectPrintProtocolsLoader::GetProtocolIndex() const
- {
- LOG("[CDirectPrintProtocolsLoader::GetProtocolIndex]\t Begin");
-
- TInt retVal = iProtIndex - 1;
- // The next check is probably unnecessary since GetNextProtocol() should only leave iProtIndex with
- // a value between 1 and iAvailableProtocols
- if (retVal < 0)
- {
- retVal = iProtocols.Count() - 1;
- }
- LOG1("[CDirectPrintProtocolsLoader::GetProtocolIndex] return: %d", retVal);
- LOG("[CDirectPrintProtocolsLoader::GetProtocolIndex]\t End");
- return retVal;
- }
-
-
-TUint CDirectPrintProtocolsLoader::SupportedProtocols() const
- {
- LOG("[CDirectPrintProtocolsLoader::SupportedProtocols]\t Begin");
- LOG1("[CDirectPrintProtocolsLoader::SupportedProtocols] return: %d", iSupportedProtocols);
- LOG("[CDirectPrintProtocolsLoader::SupportedProtocols]\t End");
- return iSupportedProtocols;
- }
-
-
-TInt CDirectPrintProtocolsLoader::GetProtocolName(TInt aIndex, TDes& aName, TInt& aUid)
- {
- TInt retVal = KErrNone;
-
- if( iAvailableProtocols <= 0 )
- {
- retVal = KErrNotFound;
- }
- else
- {
- CDirectPrintProtocolInfo* info = NULL;
-
- if (aIndex < 0)
- {
- info = iProtocolInfos[0];
- }
- else
- {
- if (aIndex >= iAvailableProtocols)
- {
- info = iProtocolInfos[iAvailableProtocols - 1];
- }
- else
- {
- info = iProtocolInfos[aIndex];
- }
- }
-
- if (info)
- {
- aName.Copy(info->DisplayName());
- aUid = info->ImplementationUid().iUid;
- }
- }
-
- return retVal;
- }
-
-
-CDirectPrintProtocolsLoader::CDirectPrintProtocolsLoader()
- {
- LOG("[CDirectPrintProtocolsLoader::CDirectPrintProtocolsLoader]\t Begin");
- iAvailableProtocols = 0;
- iProtIndex = 0;
- iSupportedProtocols = 0;
- LOG("[CDirectPrintProtocolsLoader::CDirectPrintProtocolsLoader]\t End");
- }
-
-void CDirectPrintProtocolsLoader::ConstructL()
- {
- LOG("[CDirectPrintProtocolsLoader::ConstructL]\t Begin");
- LoadL();
- LOG("[CDirectPrintProtocolsLoader::ConstructL]\t End");
- }
-
-void CDirectPrintProtocolsLoader::LoadL()
- {
- LOG("[CDirectPrintProtocolsLoader::LoadL]\t Begin");
- RImplInfoPtrArray infoArray;
- REComSession::ListImplementationsL( KDirectPrintEcomUid, infoArray );
- CleanupClosePushL( infoArray );
- MProtPrintingDevice* device = NULL;
- LOG1("CDirectPrintProtocolsLoader::LoadL infoArray.Count(): %d", infoArray.Count());
- for( TInt i = 0; i < infoArray.Count(); i++ )
- {
- LOG1("CDirectPrintProtocolsLoader::LoadL i: %d", i);
- CImplementationInformation* info = infoArray[i];
- if (info->Version() == 2)
- {
- CDirectPrintProtocolInfo* protocolInfo = CDirectPrintProtocolInfo::NewLC(*info);
- iProtocolInfos.AppendL( protocolInfo );
- CleanupStack::Pop( protocolInfo );
-
- TPtrC8 dataType = info->DataType();
- TEComResolverParams resolverParams;
- resolverParams.SetDataType( dataType );
- resolverParams.SetWildcardMatch( ETrue );
- TAny* prot = REComSession::CreateImplementationL( KDirectPrintEcomUid,
- _FOFF( MProtPrintingDevice, iDtor_ID_Key ), NULL, resolverParams );
- device = reinterpret_cast<MProtPrintingDevice*>(prot);
- //device->ConstructL( KNullDesC );
- //device = reinterpret_cast<MProtPrintingDevice*>(prot);
-
- TCleanupItem clItem( CleanupProt, device );
- CleanupStack::PushL( clItem );
- device->ConstructL( KNullDesC );
- LOG1("CDirectPrintProtocolsLoader::LoadL device->SupportedProtocols(): %d", device->SupportedProtocols());
- iProtocols.AppendL( device );
- iSupportedProtocols |= device->SupportedProtocols();
- CleanupStack::Pop(); // device
- device = NULL;
- }
- }
-
- infoArray.ResetAndDestroy();
- CleanupStack::PopAndDestroy(); // infoArray
-
- iAvailableProtocols = iProtocols.Count();
- LOG("[CDirectPrintProtocolsLoader::LoadL]\t End");
- }
-
-void CDirectPrintProtocolsLoader::CleanupProt( TAny* aData )
- {
- LOG("[CDirectPrintProtocolsLoader::CleanupProt]\t Begin");
- MProtPrintingDevice* prot = (MProtPrintingDevice*)aData;
- delete prot;
- LOG("[CDirectPrintProtocolsLoader::CleanupProt]\t End");
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the CDirectPrintProtocolsLoader class definition.
+*
+*/
+
+
+#include <ecom/ecom.h>
+
+#include "directprintprotocolsloader.h"
+#include "mprotprintingdevice.h"
+#include "clog.h"
+#include "imageprint.h"
+
+namespace
+ {
+ const TUid KDirectPrintEcomUid = { 0x10208A1E };
+ }
+
+CDirectPrintProtocolsLoader* CDirectPrintProtocolsLoader::NewL()
+ {
+ LOG("[CDirectPrintProtocolsLoader::NewL]\t Begin");
+ CDirectPrintProtocolsLoader* self = new (ELeave) CDirectPrintProtocolsLoader();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ LOG("[CDirectPrintProtocolsLoader::NewL]\t End");
+ return self;
+ }
+
+
+CDirectPrintProtocolsLoader::~CDirectPrintProtocolsLoader()
+ {
+ LOG("[CDirectPrintProtocolsLoader::~CDirectPrintProtocolsLoader]\t Begin");
+ iProtocols.ResetAndDestroy();
+ iProtocolInfos.ResetAndDestroy();
+ LOG("[CDirectPrintProtocolsLoader::~CDirectPrintProtocolsLoader]\t End");
+ }
+
+
+TInt CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable() const
+ {
+ LOG("[CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable]\t Begin");
+ LOG1("[CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable]\t return: %d", iAvailableProtocols);
+ LOG("[CDirectPrintProtocolsLoader::GetNumberOfProtocolsAvailable]\t End");
+ return iAvailableProtocols;
+ }
+
+
+MProtPrintingDevice* CDirectPrintProtocolsLoader::GetNextProtocol()
+ {
+ LOG("[CDirectPrintProtocolsLoader::GetNextProtocol]\t Begin");
+ if (iAvailableProtocols <= 0)
+ return NULL;
+
+ if (iProtIndex == iAvailableProtocols)
+ iProtIndex = 0;
+
+ MProtPrintingDevice* temp = iProtocols[iProtIndex];
+ iProtIndex++;
+ LOG("[CDirectPrintProtocolsLoader::GetNextProtocol]\t End");
+ return temp;
+ }
+
+
+MProtPrintingDevice* CDirectPrintProtocolsLoader::GetProtocolAt(TInt aIndex)
+ {
+ LOG("[CDirectPrintProtocolsLoader::GetProtocolAt]\t Begin");
+ if( iAvailableProtocols <= 0 ) return NULL;
+
+ MProtPrintingDevice* temp = NULL;
+
+ if (aIndex < 0)
+ temp = (MProtPrintingDevice*) iProtocols[0];
+ else
+ if (aIndex >= iAvailableProtocols)
+ temp = (MProtPrintingDevice*) iProtocols[iAvailableProtocols - 1];
+ else
+ temp = (MProtPrintingDevice*) iProtocols[aIndex];
+
+ LOG("[CDirectPrintProtocolsLoader::GetProtocolAt]\t End");
+ return temp;
+
+ }
+
+
+void CDirectPrintProtocolsLoader::Reset()
+ {
+ LOG("[CDirectPrintProtocolsLoader::Reset]\t Begin");
+ iProtIndex = 0;
+ LOG("[CDirectPrintProtocolsLoader::Reset]\t End");
+ }
+
+
+TInt CDirectPrintProtocolsLoader::GetProtocolIndex() const
+ {
+ LOG("[CDirectPrintProtocolsLoader::GetProtocolIndex]\t Begin");
+
+ TInt retVal = iProtIndex - 1;
+ // The next check is probably unnecessary since GetNextProtocol() should only leave iProtIndex with
+ // a value between 1 and iAvailableProtocols
+ if (retVal < 0)
+ {
+ retVal = iProtocols.Count() - 1;
+ }
+ LOG1("[CDirectPrintProtocolsLoader::GetProtocolIndex] return: %d", retVal);
+ LOG("[CDirectPrintProtocolsLoader::GetProtocolIndex]\t End");
+ return retVal;
+ }
+
+
+TUint CDirectPrintProtocolsLoader::SupportedProtocols() const
+ {
+ LOG("[CDirectPrintProtocolsLoader::SupportedProtocols]\t Begin");
+ LOG1("[CDirectPrintProtocolsLoader::SupportedProtocols] return: %d", iSupportedProtocols);
+ LOG("[CDirectPrintProtocolsLoader::SupportedProtocols]\t End");
+ return iSupportedProtocols;
+ }
+
+
+TInt CDirectPrintProtocolsLoader::GetProtocolName(TInt aIndex, TDes& aName, TInt& aUid)
+ {
+ TInt retVal = KErrNone;
+
+ if( iAvailableProtocols <= 0 )
+ {
+ retVal = KErrNotFound;
+ }
+ else
+ {
+ CDirectPrintProtocolInfo* info = NULL;
+
+ if (aIndex < 0)
+ {
+ info = iProtocolInfos[0];
+ }
+ else
+ {
+ if (aIndex >= iAvailableProtocols)
+ {
+ info = iProtocolInfos[iAvailableProtocols - 1];
+ }
+ else
+ {
+ info = iProtocolInfos[aIndex];
+ }
+ }
+
+ if (info)
+ {
+ aName.Copy(info->DisplayName());
+ aUid = info->ImplementationUid().iUid;
+ }
+ }
+
+ return retVal;
+ }
+
+
+CDirectPrintProtocolsLoader::CDirectPrintProtocolsLoader()
+ {
+ LOG("[CDirectPrintProtocolsLoader::CDirectPrintProtocolsLoader]\t Begin");
+ iAvailableProtocols = 0;
+ iProtIndex = 0;
+ iSupportedProtocols = 0;
+ LOG("[CDirectPrintProtocolsLoader::CDirectPrintProtocolsLoader]\t End");
+ }
+
+void CDirectPrintProtocolsLoader::ConstructL()
+ {
+ LOG("[CDirectPrintProtocolsLoader::ConstructL]\t Begin");
+ LoadL();
+ LOG("[CDirectPrintProtocolsLoader::ConstructL]\t End");
+ }
+
+void CDirectPrintProtocolsLoader::LoadL()
+ {
+ LOG("[CDirectPrintProtocolsLoader::LoadL]\t Begin");
+ RImplInfoPtrArray infoArray;
+ REComSession::ListImplementationsL( KDirectPrintEcomUid, infoArray );
+ CleanupClosePushL( infoArray );
+ MProtPrintingDevice* device = NULL;
+ LOG1("CDirectPrintProtocolsLoader::LoadL infoArray.Count(): %d", infoArray.Count());
+ for( TInt i = 0; i < infoArray.Count(); i++ )
+ {
+ LOG1("CDirectPrintProtocolsLoader::LoadL i: %d", i);
+ CImplementationInformation* info = infoArray[i];
+ if (info->Version() == 2)
+ {
+ CDirectPrintProtocolInfo* protocolInfo = CDirectPrintProtocolInfo::NewLC(*info);
+ iProtocolInfos.AppendL( protocolInfo );
+ CleanupStack::Pop( protocolInfo );
+
+ TPtrC8 dataType = info->DataType();
+ TEComResolverParams resolverParams;
+ resolverParams.SetDataType( dataType );
+ resolverParams.SetWildcardMatch( ETrue );
+ TAny* prot = REComSession::CreateImplementationL( KDirectPrintEcomUid,
+ _FOFF( MProtPrintingDevice, iDtor_ID_Key ), NULL, resolverParams );
+ device = reinterpret_cast<MProtPrintingDevice*>(prot);
+ //device->ConstructL( KNullDesC );
+ //device = reinterpret_cast<MProtPrintingDevice*>(prot);
+
+ TCleanupItem clItem( CleanupProt, device );
+ CleanupStack::PushL( clItem );
+ device->ConstructL( KNullDesC );
+ LOG1("CDirectPrintProtocolsLoader::LoadL device->SupportedProtocols(): %d", device->SupportedProtocols());
+ iProtocols.AppendL( device );
+ iSupportedProtocols |= device->SupportedProtocols();
+ CleanupStack::Pop(); // device
+ device = NULL;
+ }
+ }
+
+ infoArray.ResetAndDestroy();
+ CleanupStack::PopAndDestroy(); // infoArray
+
+ iAvailableProtocols = iProtocols.Count();
+ LOG("[CDirectPrintProtocolsLoader::LoadL]\t End");
+ }
+
+void CDirectPrintProtocolsLoader::CleanupProt( TAny* aData )
+ {
+ LOG("[CDirectPrintProtocolsLoader::CleanupProt]\t Begin");
+ MProtPrintingDevice* prot = (MProtPrintingDevice*)aData;
+ delete prot;
+ LOG("[CDirectPrintProtocolsLoader::CleanupProt]\t End");
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintrsimageparser.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintrsimageparser.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,163 +1,163 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the CDirectPrintRsImageParser class definition.
-*
-*/
-
-
-// DirectPrintRsImageParser.cpp: implementation of the CDirectPrintRsImageParser class.
-//
-//////////////////////////////////////////////////////////////////////
-
-#include "directprintrsimageparser.h"
-#include "clog.h"
-
-//////////////////////////////////////////////////////////////////////
-// Construction/Destruction
-//////////////////////////////////////////////////////////////////////
-
-CDirectPrintRsImageParser* CDirectPrintRsImageParser::NewLC()
- {
- CDirectPrintRsImageParser* self = new (ELeave) CDirectPrintRsImageParser();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-
-void CDirectPrintRsImageParser::ConstructL()
- {
- User::LeaveIfError(iFs.Connect());
- }
-
-
-CDirectPrintRsImageParser::~CDirectPrintRsImageParser()
- {
- iFs.Close();
- }
-
-CDirectPrintRsImageParser::CDirectPrintRsImageParser()
- {
- }
-
-void CDirectPrintRsImageParser::ValidateL( const TDesC& aFileName, TBool& aValid, TInt& aErr )
- {
- LOG1("CDirectPrintRsImageParser::ValidateL aFileName: %S", &aFileName);
- aValid = EFalse;
- TInt dataPos( 0 );
- TBuf8<9> imgData;
- TBool bAllDone( EFalse );
- TInt height( 0 );
- TInt width( 0 );
- TInt startOfDataOffset( 0 );
- TInt encoding( EUnknown );
- TInt size( 0 );
-
- RFile file;
- aErr = file.Open( iFs, aFileName, EFileRead | EFileShareReadersOnly );
- LOG1("CDirectPrintRsImageParser::ValidateL file.Open (shareread mode): %d", aErr);
- if ( aErr != KErrNone )
- {
- aErr = file.Open( iFs, aFileName, EFileRead | EFileShareAny );
- LOG1("CDirectPrintRsImageParser::ValidateL file.Open (shareany mode): %d", aErr);
- }
-
- // magic numbers used here are JPEG format related
- else // if ( aErr == KErrNone ) // 1 IF
- {
- CleanupClosePushL( file );
- aErr = file.Size( size );
- if( size && aErr == KErrNone ) // 2 IF
- {
- aErr = ReadData( file, dataPos, imgData );
- if( aErr == KErrNone && imgData.Length() == 9 ) // 3 IF
- {
- // First check for the JPEG header "FF D8"
- if( imgData[0] == 0xff && imgData[1] == 0xd8 ) // 4 IF
- {
- // Start skipping headers until we find the one we're looking for
- dataPos = (imgData[4] << 8) + imgData[5] + 4;
-
- aErr = ReadData( file, dataPos, imgData );
-
- while( aErr == KErrNone && imgData.Length() == 9 && imgData[0] == 0xff )
- {
- switch( imgData[1] )
- {
- case 0xda:
- // Start of data
- startOfDataOffset = dataPos + ((imgData[2] << 8) + imgData[3] + 2);
- bAllDone = ETrue;
- break;
-
- case EDiffArithLossless:
- encoding = imgData[1];
- height = (imgData[5] << 8) + imgData[6];
- width = (imgData[7] << 8) + imgData[8];
- break;
-
- default:
- break;
- } // SWITCH
-
- if( bAllDone )
- {
- break;
- }
- else
- {
- dataPos += (imgData[2] << 8) + imgData[3] + 2;
- aErr = ReadData( file, dataPos, imgData );
- }
- } // WHILE
- } // 4 IF
- else
- {
- // Not a JPG
- aErr = KErrCorrupt;
- }
- } // 3 IF
- } // 2 IF
-
- CleanupStack::PopAndDestroy( &file );
- } // 1 IF
-
- aValid = Validate( startOfDataOffset, width, height, size, encoding, aErr );
-
- LOG1("CDirectPrintRsImageParser::ValidateL aValid: %d", aValid);
- LOG1("CDirectPrintRsImageParser::ValidateL aErr: %d", aErr);
- LOG("CDirectPrintRsImageParser::ValidateL end");
- }
-
-TBool CDirectPrintRsImageParser::Validate( TInt aStartOfDataOffset, TInt aWidth, TInt aHeight, TInt aSize, TInt aEncoding, TInt aErr )
- {
- if ( aStartOfDataOffset && aWidth && aHeight && aSize && aEncoding && !aErr )
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-TInt CDirectPrintRsImageParser::ReadData( RFile& aFile, TInt aStartByte, TDes8& aData )
- {
- LOG("CDirectPrintRsImageParser::ReadData begin");
- TInt err = aFile.Read( aStartByte, aData );
- LOG1("CDirectPrintRsImageParser::ReadData return: %d", err);
- return err;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the CDirectPrintRsImageParser class definition.
+*
+*/
+
+
+// DirectPrintRsImageParser.cpp: implementation of the CDirectPrintRsImageParser class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "directprintrsimageparser.h"
+#include "clog.h"
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CDirectPrintRsImageParser* CDirectPrintRsImageParser::NewLC()
+ {
+ CDirectPrintRsImageParser* self = new (ELeave) CDirectPrintRsImageParser();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+
+void CDirectPrintRsImageParser::ConstructL()
+ {
+ User::LeaveIfError(iFs.Connect());
+ }
+
+
+CDirectPrintRsImageParser::~CDirectPrintRsImageParser()
+ {
+ iFs.Close();
+ }
+
+CDirectPrintRsImageParser::CDirectPrintRsImageParser()
+ {
+ }
+
+void CDirectPrintRsImageParser::ValidateL( const TDesC& aFileName, TBool& aValid, TInt& aErr )
+ {
+ LOG1("CDirectPrintRsImageParser::ValidateL aFileName: %S", &aFileName);
+ aValid = EFalse;
+ TInt dataPos( 0 );
+ TBuf8<9> imgData;
+ TBool bAllDone( EFalse );
+ TInt height( 0 );
+ TInt width( 0 );
+ TInt startOfDataOffset( 0 );
+ TInt encoding( EUnknown );
+ TInt size( 0 );
+
+ RFile file;
+ aErr = file.Open( iFs, aFileName, EFileRead | EFileShareReadersOnly );
+ LOG1("CDirectPrintRsImageParser::ValidateL file.Open (shareread mode): %d", aErr);
+ if ( aErr != KErrNone )
+ {
+ aErr = file.Open( iFs, aFileName, EFileRead | EFileShareAny );
+ LOG1("CDirectPrintRsImageParser::ValidateL file.Open (shareany mode): %d", aErr);
+ }
+
+ // magic numbers used here are JPEG format related
+ else // if ( aErr == KErrNone ) // 1 IF
+ {
+ CleanupClosePushL( file );
+ aErr = file.Size( size );
+ if( size && aErr == KErrNone ) // 2 IF
+ {
+ aErr = ReadData( file, dataPos, imgData );
+ if( aErr == KErrNone && imgData.Length() == 9 ) // 3 IF
+ {
+ // First check for the JPEG header "FF D8"
+ if( imgData[0] == 0xff && imgData[1] == 0xd8 ) // 4 IF
+ {
+ // Start skipping headers until we find the one we're looking for
+ dataPos = (imgData[4] << 8) + imgData[5] + 4;
+
+ aErr = ReadData( file, dataPos, imgData );
+
+ while( aErr == KErrNone && imgData.Length() == 9 && imgData[0] == 0xff )
+ {
+ switch( imgData[1] )
+ {
+ case 0xda:
+ // Start of data
+ startOfDataOffset = dataPos + ((imgData[2] << 8) + imgData[3] + 2);
+ bAllDone = ETrue;
+ break;
+
+ case EDiffArithLossless:
+ encoding = imgData[1];
+ height = (imgData[5] << 8) + imgData[6];
+ width = (imgData[7] << 8) + imgData[8];
+ break;
+
+ default:
+ break;
+ } // SWITCH
+
+ if( bAllDone )
+ {
+ break;
+ }
+ else
+ {
+ dataPos += (imgData[2] << 8) + imgData[3] + 2;
+ aErr = ReadData( file, dataPos, imgData );
+ }
+ } // WHILE
+ } // 4 IF
+ else
+ {
+ // Not a JPG
+ aErr = KErrCorrupt;
+ }
+ } // 3 IF
+ } // 2 IF
+
+ CleanupStack::PopAndDestroy( &file );
+ } // 1 IF
+
+ aValid = Validate( startOfDataOffset, width, height, size, encoding, aErr );
+
+ LOG1("CDirectPrintRsImageParser::ValidateL aValid: %d", aValid);
+ LOG1("CDirectPrintRsImageParser::ValidateL aErr: %d", aErr);
+ LOG("CDirectPrintRsImageParser::ValidateL end");
+ }
+
+TBool CDirectPrintRsImageParser::Validate( TInt aStartOfDataOffset, TInt aWidth, TInt aHeight, TInt aSize, TInt aEncoding, TInt aErr )
+ {
+ if ( aStartOfDataOffset && aWidth && aHeight && aSize && aEncoding && !aErr )
+ {
+ return ETrue;
+ }
+ else
+ {
+ return EFalse;
+ }
+ }
+
+TInt CDirectPrintRsImageParser::ReadData( RFile& aFile, TInt aStartByte, TDes8& aData )
+ {
+ LOG("CDirectPrintRsImageParser::ReadData begin");
+ TInt err = aFile.Read( aStartByte, aData );
+ LOG1("CDirectPrintRsImageParser::ReadData return: %d", err);
+ return err;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintscheduler.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintscheduler.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,54 +1,54 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "directprintscheduler.h"
-#include "mprotprintingdevice.h"
-#include "tidleevent.h"
-#include "printmessagecodes.h"
-#include "clog.h"
-
-void CDirectPrintScheduler::Error(TInt aError) const
- {
- LOG1("CDirectPrintScheduler::Error aError: %d", aError);
- if( iIdleObserver )
- {
- TEvent event;
- event.iProtocol = iCurrentProtocol;
- event.iSeverity = ESevere;
- event.iEventType = EAsynchronousLeave;
- LOG("CDirectPrintScheduler::Error informing observer");
- iIdleObserver->StatusEvent( event, aError, ENoMessage );
- }
- LOG("CDirectPrintScheduler::Error end");
- }
-
-void CDirectPrintScheduler::SetIdleObserver( MProtIdleObserver& aIdleObserver )
- {
- LOG("CDirectPrintScheduler::SetIdleObserver begin");
- iIdleObserver = &aIdleObserver;
- LOG("CDirectPrintScheduler::SetIdleObserver end");
- }
-
-void CDirectPrintScheduler::SetCurrentProtocol( TInt aProtocol )
- {
- LOG1("CDirectPrintScheduler::SetCurrentProtocol aProtocol: %d", aProtocol);
- iCurrentProtocol = aProtocol;
- LOG("CDirectPrintScheduler::SetCurrentProtocol end");
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "directprintscheduler.h"
+#include "mprotprintingdevice.h"
+#include "tidleevent.h"
+#include "printmessagecodes.h"
+#include "clog.h"
+
+void CDirectPrintScheduler::Error(TInt aError) const
+ {
+ LOG1("CDirectPrintScheduler::Error aError: %d", aError);
+ if( iIdleObserver )
+ {
+ TEvent event;
+ event.iProtocol = iCurrentProtocol;
+ event.iSeverity = ESevere;
+ event.iEventType = EAsynchronousLeave;
+ LOG("CDirectPrintScheduler::Error informing observer");
+ iIdleObserver->StatusEvent( event, aError, ENoMessage );
+ }
+ LOG("CDirectPrintScheduler::Error end");
+ }
+
+void CDirectPrintScheduler::SetIdleObserver( MProtIdleObserver& aIdleObserver )
+ {
+ LOG("CDirectPrintScheduler::SetIdleObserver begin");
+ iIdleObserver = &aIdleObserver;
+ LOG("CDirectPrintScheduler::SetIdleObserver end");
+ }
+
+void CDirectPrintScheduler::SetCurrentProtocol( TInt aProtocol )
+ {
+ LOG1("CDirectPrintScheduler::SetCurrentProtocol aProtocol: %d", aProtocol);
+ iCurrentProtocol = aProtocol;
+ LOG("CDirectPrintScheduler::SetCurrentProtocol end");
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintserver.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintserver.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,166 +1,166 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "directprintserver.h"
-#include "directprintclientserver.h"
-#include "directprintsession.h"
-#include "clog.h"
-#include "directprintbody.h"
-
-namespace
- {
- // panic
- _LIT( KDirectPrintServerPanic, "CIPSer" );
- enum TDirectPrintServerPanic
- {
- EBadDescriptor
- };
-
- void PanicClient( const RMessage2& aMessage, TDirectPrintServerPanic aCategory )
- {
- aMessage.Panic( KDirectPrintServerPanic, aCategory );
- }
- }
-
-
-CDirectPrintServer* CDirectPrintServer::NewLC()
- {
- CDirectPrintServer* server = new (ELeave) CDirectPrintServer();
- CleanupStack::PushL( server ) ;
- server->ConstructL();
- return server;
- }
-
-
-CDirectPrintServer::CDirectPrintServer()
- : CPolicyServer( 0, KDirectPrintPolicy, ESharableSessions )
- {
- }
-
-CDirectPrintServer::~CDirectPrintServer()
- {
- LOG("CDirectPrintServer::~CDirectPrintServer begin");
- delete iEngine;
- iFbs.Disconnect();
- LOG("CDirectPrintServer::~CDirectPrintServer end");
- }
-
-void CDirectPrintServer::ConstructL()
- {
- LOG("CDirectPrintServer::ConstructL begin");
- StartL( KDirectPrintServerName );
- User::LeaveIfError( iFbs.Connect() );
- iEngine = CDirectPrintBody::NewL();
- LOG("CDirectPrintServer::ConstructL end");
- }
-
-void CDirectPrintServer::AddSession()
- {
- LOG("CDirectPrintServer::AddSession begin");
- ++iConnsCount;
- LOG("CDirectPrintServer::AddSession end");
- }
-
-void CDirectPrintServer::RemoveSession()
- {
- --iConnsCount;
- LOG1("CDirectPrintServer::RemoveSession iConnsCount: %d", iConnsCount);
- if( iConnsCount == 0 )
- {
- delete iEngine;
- iEngine = NULL;
- iFbs.Disconnect();
- CActiveScheduler::Stop();
- }
- LOG("CDirectPrintServer::RemoveSession end");
- }
-
-TInt CDirectPrintServer::SessionCount() const
- {
- LOG("CDirectPrintServer::SessionCount begin");
- LOG1("CDirectPrintServer::SessionCount return: %d", iConnsCount);
- return iConnsCount;
- }
-
-TInt CDirectPrintServer::RunError( TInt aError )
- {
- LOG1("CDirectPrintServer::RunError aError: %d", aError);
- if( aError == KErrBadDescriptor )
- {
- PanicClient( Message(), EBadDescriptor );
- }
- else
- {
- Message().Complete( aError );
- }
- ReStart();
- LOG("CDirectPrintServer::RunError end");
- return KErrNone;
- }
-
-
-CSession2* CDirectPrintServer::NewSessionL( const TVersion& aVersion, const RMessage2& ) const
- {
- LOG("CDirectPrintServer::NewSessionL begin");
- TBool supported = User::QueryVersionSupported( TVersion( KDirectPrintServerMajor,
- KDirectPrintServerMinor,
- KDirectPrintServerBuild ),
- aVersion );
- if( !supported )
- {
- User::Leave( KErrNotSupported );
- }
-
- LOG("CDirectPrintServer::NewSessionL end");
- return new (ELeave) CDirectPrintSession();
- }
-
-TInt CDirectPrintServer::ReserveEngine( const CSession2* aSession )
- {
- LOG("CDirectPrintServer::ReserveEngine begin");
- TInt err( KErrInUse );
- if( iEngineHolder == aSession || !iEngineHolder )
- {
- iEngineHolder = aSession;
- err = KErrNone;
- }
- LOG1("CDirectPrintServer::ReserveEngine return: %d", err);
- return err;
- }
-
-TInt CDirectPrintServer::ReleaseEngine( const CSession2* aSession )
- {
- LOG("CDirectPrintServer::ReleaseEngine begin");
- TInt err( KErrInUse );
- if( iEngineHolder == aSession || !iEngineHolder )
- {
- iEngineHolder = NULL;
- err = KErrNone;
- }
- LOG1("CDirectPrintServer::ReleaseEngine return: %d", err);
- return err;
- }
-
-CDirectPrintBody& CDirectPrintServer::Engine() const
- {
- LOG("CDirectPrintServer::Engine begin");
- LOG("CDirectPrintServer::Engine end");
- return *iEngine;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "directprintserver.h"
+#include "directprintclientserver.h"
+#include "directprintsession.h"
+#include "clog.h"
+#include "directprintbody.h"
+
+namespace
+ {
+ // panic
+ _LIT( KDirectPrintServerPanic, "CIPSer" );
+ enum TDirectPrintServerPanic
+ {
+ EBadDescriptor
+ };
+
+ void PanicClient( const RMessage2& aMessage, TDirectPrintServerPanic aCategory )
+ {
+ aMessage.Panic( KDirectPrintServerPanic, aCategory );
+ }
+ }
+
+
+CDirectPrintServer* CDirectPrintServer::NewLC()
+ {
+ CDirectPrintServer* server = new (ELeave) CDirectPrintServer();
+ CleanupStack::PushL( server ) ;
+ server->ConstructL();
+ return server;
+ }
+
+
+CDirectPrintServer::CDirectPrintServer()
+ : CPolicyServer( 0, KDirectPrintPolicy, ESharableSessions )
+ {
+ }
+
+CDirectPrintServer::~CDirectPrintServer()
+ {
+ LOG("CDirectPrintServer::~CDirectPrintServer begin");
+ delete iEngine;
+ iFbs.Disconnect();
+ LOG("CDirectPrintServer::~CDirectPrintServer end");
+ }
+
+void CDirectPrintServer::ConstructL()
+ {
+ LOG("CDirectPrintServer::ConstructL begin");
+ StartL( KDirectPrintServerName );
+ User::LeaveIfError( iFbs.Connect() );
+ iEngine = CDirectPrintBody::NewL();
+ LOG("CDirectPrintServer::ConstructL end");
+ }
+
+void CDirectPrintServer::AddSession()
+ {
+ LOG("CDirectPrintServer::AddSession begin");
+ ++iConnsCount;
+ LOG("CDirectPrintServer::AddSession end");
+ }
+
+void CDirectPrintServer::RemoveSession()
+ {
+ --iConnsCount;
+ LOG1("CDirectPrintServer::RemoveSession iConnsCount: %d", iConnsCount);
+ if( iConnsCount == 0 )
+ {
+ delete iEngine;
+ iEngine = NULL;
+ iFbs.Disconnect();
+ CActiveScheduler::Stop();
+ }
+ LOG("CDirectPrintServer::RemoveSession end");
+ }
+
+TInt CDirectPrintServer::SessionCount() const
+ {
+ LOG("CDirectPrintServer::SessionCount begin");
+ LOG1("CDirectPrintServer::SessionCount return: %d", iConnsCount);
+ return iConnsCount;
+ }
+
+TInt CDirectPrintServer::RunError( TInt aError )
+ {
+ LOG1("CDirectPrintServer::RunError aError: %d", aError);
+ if( aError == KErrBadDescriptor )
+ {
+ PanicClient( Message(), EBadDescriptor );
+ }
+ else
+ {
+ Message().Complete( aError );
+ }
+ ReStart();
+ LOG("CDirectPrintServer::RunError end");
+ return KErrNone;
+ }
+
+
+CSession2* CDirectPrintServer::NewSessionL( const TVersion& aVersion, const RMessage2& ) const
+ {
+ LOG("CDirectPrintServer::NewSessionL begin");
+ TBool supported = User::QueryVersionSupported( TVersion( KDirectPrintServerMajor,
+ KDirectPrintServerMinor,
+ KDirectPrintServerBuild ),
+ aVersion );
+ if( !supported )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+ LOG("CDirectPrintServer::NewSessionL end");
+ return new (ELeave) CDirectPrintSession();
+ }
+
+TInt CDirectPrintServer::ReserveEngine( const CSession2* aSession )
+ {
+ LOG("CDirectPrintServer::ReserveEngine begin");
+ TInt err( KErrInUse );
+ if( iEngineHolder == aSession || !iEngineHolder )
+ {
+ iEngineHolder = aSession;
+ err = KErrNone;
+ }
+ LOG1("CDirectPrintServer::ReserveEngine return: %d", err);
+ return err;
+ }
+
+TInt CDirectPrintServer::ReleaseEngine( const CSession2* aSession )
+ {
+ LOG("CDirectPrintServer::ReleaseEngine begin");
+ TInt err( KErrInUse );
+ if( iEngineHolder == aSession || !iEngineHolder )
+ {
+ iEngineHolder = NULL;
+ err = KErrNone;
+ }
+ LOG1("CDirectPrintServer::ReleaseEngine return: %d", err);
+ return err;
+ }
+
+CDirectPrintBody& CDirectPrintServer::Engine() const
+ {
+ LOG("CDirectPrintServer::Engine begin");
+ LOG("CDirectPrintServer::Engine end");
+ return *iEngine;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintserverjobguard.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintserverjobguard.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,237 +1,237 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-#include "directprintserverjobguard.h"
-#include "directprintbody.h"
-#include "clog.h"
-#include "directprintmessage.h"
-
-CDirectPrintServerJobGuard* CDirectPrintServerJobGuard::NewL( CDirectPrintBody& aEngine )
- {
- CDirectPrintServerJobGuard* self = new ( ELeave ) CDirectPrintServerJobGuard( aEngine );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- return self;
- }
-
-CDirectPrintServerJobGuard::CDirectPrintServerJobGuard( CDirectPrintBody& aEngine )
- : iEngine( aEngine )
- , iRequestActive( EFalse )
- {
- }
-
-CDirectPrintServerJobGuard::~CDirectPrintServerJobGuard()
- {
- LOG("CDirectPrintServerJobGuard::~CDirectPrintServerJobGuard begin");
- iImages.ResetAndDestroy();
- iImages.Close();
- iBuffer.Close();
- LOG("CDirectPrintServerJobGuard::~CDirectPrintServerJobGuard end");
- }
-
-void CDirectPrintServerJobGuard::ConstructL()
- {
- }
-
-void CDirectPrintServerJobGuard::PrepareL( TDpMessage& aMessage )
- {
- LOG("CDirectPrintServerJobGuard::PrepareL begin");
- TInt len = aMessage.GetDesLength( 0 );
- HBufC* buf = HBufC::NewLC( len );
- TPtr ptr( buf->Des() );
- aMessage.ReadL( 0, ptr );
- iImages.AppendL( buf );
- CleanupStack::Pop(); // buf
- LOG("CDirectPrintServerJobGuard::PrepareL end");
- }
-
-void CDirectPrintServerJobGuard::Stop()
- {
- LOG("CDirectPrintServerJobGuard::Stop begin");
- iImages.ResetAndDestroy();
- if( iRequestActive )
- {
- LOG("CDirectPrintServerJobGuard::Stop cancelling...");
- iMessage->Complete( KErrCancel );
- iRequestActive = EFalse;
- }
- LOG("CDirectPrintServerJobGuard::Stop end");
- }
-
-TInt CDirectPrintServerJobGuard::CreateL( TDpMessage& aMessage )
- {
- LOG("CDirectPrintServerJobGuard::CreateL begin");
- iRequestActive = EFalse;
- iBuffer.Reset();
- TInt printer = aMessage.Int0();
- TInt err = iEngine.CreatePrintJobL( printer, iImages, *this );
- LOG1("CDirectPrintServerJobGuard::CreateL err: %d", err);
- if( err )
- {
- iImages.ResetAndDestroy();
- }
- LOG1("CDirectPrintServerJobGuard::CreateL return: %d", err);
- return err;
- }
-
-void CDirectPrintServerJobGuard::ContinueCreateL( TDpMessage& aMessage )
- {
- LOG("CDirectPrintServerJobGuard::ContinueCreateL begin");
- if( iMessage ) iMessage->SetDisposable( ETrue );
- iMessage = &aMessage;
- iRequestActive = ETrue;
- if( iBuffer.Count() )
- {
- LOG("CDirectPrintServerJobGuard::ContinueCreateL before ProcessL");
- Process();
- LOG("CDirectPrintServerJobGuard::ContinueCreateL after ProcessL");
- }
- LOG("CDirectPrintServerJobGuard::ContinueCreateL end");
- }
-
-void CDirectPrintServerJobGuard::PrintJobProgressEvent(TInt aStatus, TInt aPercentCompletion, TInt aJobStateCode)
- {
- LOG("CDirectPrintServerJobGuard::PrintJobProgressEvent begin");
- LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent aStatus: %d", aStatus);
- LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent aPercentCompletion: %d", aPercentCompletion);
- LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent aJobStateCode: %d", aJobStateCode);
- TDirectPrintJobGuardData data;
- data.iCb = TDirectPrintJobGuardData::EProgressEventCb;
- data.iStatus = aStatus;
- data.iPercentCompletion = aPercentCompletion;
- data.iJobStateCode = aJobStateCode;
- TRAPD( err, DoPreProcessL( data ) );
- LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent DoPreProcessL's TRAP err: %d", err);
- Process( err );
- LOG("CDirectPrintServerJobGuard::PrintJobProgressEvent end");
- }
-
-void CDirectPrintServerJobGuard::PrintJobErrorEvent(TInt aError, TInt aErrorStringCode)
- {
- LOG("CDirectPrintServerJobGuard::PrintJobErrorEvent begin");
- LOG1("CDirectPrintServerJobGuard::PrintJobErrorEvent aError: %d", aError);
- LOG1("CDirectPrintServerJobGuard::PrintJobErrorEvent aErrorStringCode: %d", aErrorStringCode);
- TDirectPrintJobGuardData data;
- data.iCb = TDirectPrintJobGuardData::EErrorEventCb;
- data.iError = aError;
- data.iErrorStringCode = aErrorStringCode;
- TRAPD( err, DoPreProcessL( data ) );
- LOG1("CDirectPrintServerJobGuard::PrintJobErrorEvent DoPreProcessL's TRAP err: %d", err);
- Process( err );
- LOG("CDirectPrintServerJobGuard::PrintJobErrorEvent end");
- }
-
-void CDirectPrintServerJobGuard::PrinterStatusEvent(TInt aError, TInt aErrorStringCode)
- {
- LOG("CDirectPrintServerJobGuard::PrinterStatusEvent begin");
- LOG1("CDirectPrintServerJobGuard::PrinterStatusEvent aError: %d", aError);
- LOG1("CDirectPrintServerJobGuard::PrinterStatusEvent aErrorStringCode: %d", aErrorStringCode);
- TDirectPrintJobGuardData data;
- data.iCb = TDirectPrintJobGuardData::EStatusEventCb;
- data.iError = aError;
- data.iErrorStringCode = aErrorStringCode;
- TRAPD( err, DoPreProcessL( data ) );
- LOG1("CDirectPrintServerJobGuard::PrinterStatusEvent DoPreProcessL's TRAP err: %d", err);
- Process( err );
- LOG("CDirectPrintServerJobGuard::PrinterStatusEvent end");
- }
-
-void CDirectPrintServerJobGuard::PreviewImageEvent(TInt aFsBitmapHandle)
- {
- LOG("CDirectPrintServerJobGuard::PreviewImageEvent begin");
- LOG1("CDirectPrintServerJobGuard::PreviewImageEvent aFsBitmapHandle: %d", aFsBitmapHandle);
- TDirectPrintJobGuardData data;
- data.iCb = TDirectPrintJobGuardData::EImageEventCb;
- data.iFsBitmapHandle = aFsBitmapHandle;
- TRAPD( err, DoPreProcessL( data ) );
- LOG1("CDirectPrintServerJobGuard::PreviewImageEvent DoPreProcessL's TRAP err: %d", err);
- Process( err );
- LOG("CDirectPrintServerJobGuard::PreviewImageEvent end");
- }
-
-void CDirectPrintServerJobGuard::DoPreProcessL( const TDirectPrintJobGuardData& aData )
- {
- LOG("CDirectPrintServerJobGuard::DoPreProcessL begin");
- User::LeaveIfError( iBuffer.Append( aData ) );
- LOG("CDirectPrintServerJobGuard::DoPreProcessL end");
- }
-
-void CDirectPrintServerJobGuard::DoProcessL()
- {
- LOG("CDirectPrintServerJobGuard::ProcessL begin");
- if( iBuffer.Count() && iRequestActive )
- {
- LOG("CDirectPrintServerJobGuard::DoProcessL step 1");
- TPtr8 ptr(reinterpret_cast<TUint8*>(&(iBuffer[0])), sizeof(iBuffer[0]), sizeof(iBuffer[0]));
- LOG("CDirectPrintServerJobGuard::DoProcessL step 2");
- iMessage->WriteL( 0, ptr );
- LOG("CDirectPrintServerJobGuard::DoProcessL step 3");
- iMessage->Complete( KErrNone );
- LOG("CDirectPrintServerJobGuard::DoProcessL step 4");
- iRequestActive = EFalse;
- LOG("CDirectPrintServerJobGuard::DoProcessL step 5");
- iBuffer.Remove( 0 );
- LOG("CDirectPrintServerJobGuard::DoProcessL step 6");
- }
- LOG("CDirectPrintServerJobGuard::ProcessL end");
- }
-
-void CDirectPrintServerJobGuard::Process( TInt aErr )
- {
- LOG("CDirectPrintServerJobGuard::Process begin");
- if( aErr )
- {
- LOG1("CDirectPrintServerJobGuard::Process aErr: %d", aErr);
- iMessage->Complete( aErr );
- iRequestActive = EFalse;
- }
- else
- {
- LOG("CDirectPrintServerJobGuard::Process calling DoProcessL");
- TRAPD( err, DoProcessL() );
- LOG1("CDirectPrintServerJobGuard::Process DoProcessL's TRAP err: %d", err);
- if( err )
- {
- iMessage->Complete( err );
- iRequestActive = EFalse;
- }
- }
- LOG("CDirectPrintServerJobGuard::Process end");
- }
-
-
-
-// DEPRECATED
-
-void CDirectPrintServerJobGuard::ShowMessageL( TInt /*aMsgLine1Code*/, TInt /*aMsgLine2Code*/ )
- {
- }
-
-TBool CDirectPrintServerJobGuard::AskYesNoQuestionL( TInt /*aMsgLine1Code*/, TInt /*aMsgLine2Code*/ )
- {
- return EFalse;
- }
-
-const TDesC& CDirectPrintServerJobGuard::AskForInputL( TInt /*aMsgLine1Code*/, TInt /*aMsgLine2Code*/ )
- {
- return KNullDesC;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include "directprintserverjobguard.h"
+#include "directprintbody.h"
+#include "clog.h"
+#include "directprintmessage.h"
+
+CDirectPrintServerJobGuard* CDirectPrintServerJobGuard::NewL( CDirectPrintBody& aEngine )
+ {
+ CDirectPrintServerJobGuard* self = new ( ELeave ) CDirectPrintServerJobGuard( aEngine );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(); // self
+ return self;
+ }
+
+CDirectPrintServerJobGuard::CDirectPrintServerJobGuard( CDirectPrintBody& aEngine )
+ : iEngine( aEngine )
+ , iRequestActive( EFalse )
+ {
+ }
+
+CDirectPrintServerJobGuard::~CDirectPrintServerJobGuard()
+ {
+ LOG("CDirectPrintServerJobGuard::~CDirectPrintServerJobGuard begin");
+ iImages.ResetAndDestroy();
+ iImages.Close();
+ iBuffer.Close();
+ LOG("CDirectPrintServerJobGuard::~CDirectPrintServerJobGuard end");
+ }
+
+void CDirectPrintServerJobGuard::ConstructL()
+ {
+ }
+
+void CDirectPrintServerJobGuard::PrepareL( TDpMessage& aMessage )
+ {
+ LOG("CDirectPrintServerJobGuard::PrepareL begin");
+ TInt len = aMessage.GetDesLength( 0 );
+ HBufC* buf = HBufC::NewLC( len );
+ TPtr ptr( buf->Des() );
+ aMessage.ReadL( 0, ptr );
+ iImages.AppendL( buf );
+ CleanupStack::Pop(); // buf
+ LOG("CDirectPrintServerJobGuard::PrepareL end");
+ }
+
+void CDirectPrintServerJobGuard::Stop()
+ {
+ LOG("CDirectPrintServerJobGuard::Stop begin");
+ iImages.ResetAndDestroy();
+ if( iRequestActive )
+ {
+ LOG("CDirectPrintServerJobGuard::Stop cancelling...");
+ iMessage->Complete( KErrCancel );
+ iRequestActive = EFalse;
+ }
+ LOG("CDirectPrintServerJobGuard::Stop end");
+ }
+
+TInt CDirectPrintServerJobGuard::CreateL( TDpMessage& aMessage )
+ {
+ LOG("CDirectPrintServerJobGuard::CreateL begin");
+ iRequestActive = EFalse;
+ iBuffer.Reset();
+ TInt printer = aMessage.Int0();
+ TInt err = iEngine.CreatePrintJobL( printer, iImages, *this );
+ LOG1("CDirectPrintServerJobGuard::CreateL err: %d", err);
+ if( err )
+ {
+ iImages.ResetAndDestroy();
+ }
+ LOG1("CDirectPrintServerJobGuard::CreateL return: %d", err);
+ return err;
+ }
+
+void CDirectPrintServerJobGuard::ContinueCreateL( TDpMessage& aMessage )
+ {
+ LOG("CDirectPrintServerJobGuard::ContinueCreateL begin");
+ if( iMessage ) iMessage->SetDisposable( ETrue );
+ iMessage = &aMessage;
+ iRequestActive = ETrue;
+ if( iBuffer.Count() )
+ {
+ LOG("CDirectPrintServerJobGuard::ContinueCreateL before ProcessL");
+ Process();
+ LOG("CDirectPrintServerJobGuard::ContinueCreateL after ProcessL");
+ }
+ LOG("CDirectPrintServerJobGuard::ContinueCreateL end");
+ }
+
+void CDirectPrintServerJobGuard::PrintJobProgressEvent(TInt aStatus, TInt aPercentCompletion, TInt aJobStateCode)
+ {
+ LOG("CDirectPrintServerJobGuard::PrintJobProgressEvent begin");
+ LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent aStatus: %d", aStatus);
+ LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent aPercentCompletion: %d", aPercentCompletion);
+ LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent aJobStateCode: %d", aJobStateCode);
+ TDirectPrintJobGuardData data;
+ data.iCb = TDirectPrintJobGuardData::EProgressEventCb;
+ data.iStatus = aStatus;
+ data.iPercentCompletion = aPercentCompletion;
+ data.iJobStateCode = aJobStateCode;
+ TRAPD( err, DoPreProcessL( data ) );
+ LOG1("CDirectPrintServerJobGuard::PrintJobProgressEvent DoPreProcessL's TRAP err: %d", err);
+ Process( err );
+ LOG("CDirectPrintServerJobGuard::PrintJobProgressEvent end");
+ }
+
+void CDirectPrintServerJobGuard::PrintJobErrorEvent(TInt aError, TInt aErrorStringCode)
+ {
+ LOG("CDirectPrintServerJobGuard::PrintJobErrorEvent begin");
+ LOG1("CDirectPrintServerJobGuard::PrintJobErrorEvent aError: %d", aError);
+ LOG1("CDirectPrintServerJobGuard::PrintJobErrorEvent aErrorStringCode: %d", aErrorStringCode);
+ TDirectPrintJobGuardData data;
+ data.iCb = TDirectPrintJobGuardData::EErrorEventCb;
+ data.iError = aError;
+ data.iErrorStringCode = aErrorStringCode;
+ TRAPD( err, DoPreProcessL( data ) );
+ LOG1("CDirectPrintServerJobGuard::PrintJobErrorEvent DoPreProcessL's TRAP err: %d", err);
+ Process( err );
+ LOG("CDirectPrintServerJobGuard::PrintJobErrorEvent end");
+ }
+
+void CDirectPrintServerJobGuard::PrinterStatusEvent(TInt aError, TInt aErrorStringCode)
+ {
+ LOG("CDirectPrintServerJobGuard::PrinterStatusEvent begin");
+ LOG1("CDirectPrintServerJobGuard::PrinterStatusEvent aError: %d", aError);
+ LOG1("CDirectPrintServerJobGuard::PrinterStatusEvent aErrorStringCode: %d", aErrorStringCode);
+ TDirectPrintJobGuardData data;
+ data.iCb = TDirectPrintJobGuardData::EStatusEventCb;
+ data.iError = aError;
+ data.iErrorStringCode = aErrorStringCode;
+ TRAPD( err, DoPreProcessL( data ) );
+ LOG1("CDirectPrintServerJobGuard::PrinterStatusEvent DoPreProcessL's TRAP err: %d", err);
+ Process( err );
+ LOG("CDirectPrintServerJobGuard::PrinterStatusEvent end");
+ }
+
+void CDirectPrintServerJobGuard::PreviewImageEvent(TInt aFsBitmapHandle)
+ {
+ LOG("CDirectPrintServerJobGuard::PreviewImageEvent begin");
+ LOG1("CDirectPrintServerJobGuard::PreviewImageEvent aFsBitmapHandle: %d", aFsBitmapHandle);
+ TDirectPrintJobGuardData data;
+ data.iCb = TDirectPrintJobGuardData::EImageEventCb;
+ data.iFsBitmapHandle = aFsBitmapHandle;
+ TRAPD( err, DoPreProcessL( data ) );
+ LOG1("CDirectPrintServerJobGuard::PreviewImageEvent DoPreProcessL's TRAP err: %d", err);
+ Process( err );
+ LOG("CDirectPrintServerJobGuard::PreviewImageEvent end");
+ }
+
+void CDirectPrintServerJobGuard::DoPreProcessL( const TDirectPrintJobGuardData& aData )
+ {
+ LOG("CDirectPrintServerJobGuard::DoPreProcessL begin");
+ User::LeaveIfError( iBuffer.Append( aData ) );
+ LOG("CDirectPrintServerJobGuard::DoPreProcessL end");
+ }
+
+void CDirectPrintServerJobGuard::DoProcessL()
+ {
+ LOG("CDirectPrintServerJobGuard::ProcessL begin");
+ if( iBuffer.Count() && iRequestActive )
+ {
+ LOG("CDirectPrintServerJobGuard::DoProcessL step 1");
+ TPtr8 ptr(reinterpret_cast<TUint8*>(&(iBuffer[0])), sizeof(iBuffer[0]), sizeof(iBuffer[0]));
+ LOG("CDirectPrintServerJobGuard::DoProcessL step 2");
+ iMessage->WriteL( 0, ptr );
+ LOG("CDirectPrintServerJobGuard::DoProcessL step 3");
+ iMessage->Complete( KErrNone );
+ LOG("CDirectPrintServerJobGuard::DoProcessL step 4");
+ iRequestActive = EFalse;
+ LOG("CDirectPrintServerJobGuard::DoProcessL step 5");
+ iBuffer.Remove( 0 );
+ LOG("CDirectPrintServerJobGuard::DoProcessL step 6");
+ }
+ LOG("CDirectPrintServerJobGuard::ProcessL end");
+ }
+
+void CDirectPrintServerJobGuard::Process( TInt aErr )
+ {
+ LOG("CDirectPrintServerJobGuard::Process begin");
+ if( aErr )
+ {
+ LOG1("CDirectPrintServerJobGuard::Process aErr: %d", aErr);
+ iMessage->Complete( aErr );
+ iRequestActive = EFalse;
+ }
+ else
+ {
+ LOG("CDirectPrintServerJobGuard::Process calling DoProcessL");
+ TRAPD( err, DoProcessL() );
+ LOG1("CDirectPrintServerJobGuard::Process DoProcessL's TRAP err: %d", err);
+ if( err )
+ {
+ iMessage->Complete( err );
+ iRequestActive = EFalse;
+ }
+ }
+ LOG("CDirectPrintServerJobGuard::Process end");
+ }
+
+
+
+// DEPRECATED
+
+void CDirectPrintServerJobGuard::ShowMessageL( TInt /*aMsgLine1Code*/, TInt /*aMsgLine2Code*/ )
+ {
+ }
+
+TBool CDirectPrintServerJobGuard::AskYesNoQuestionL( TInt /*aMsgLine1Code*/, TInt /*aMsgLine2Code*/ )
+ {
+ return EFalse;
+ }
+
+const TDesC& CDirectPrintServerJobGuard::AskForInputL( TInt /*aMsgLine1Code*/, TInt /*aMsgLine2Code*/ )
+ {
+ return KNullDesC;
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/directprintsession.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/directprintsession.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,823 +1,823 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifdef _DIRECTPRINT_USE_USB
-#include <usbman.h>
-#include <usbstates.h>
-#include <usbpersonalityids.h>
-#endif // _DIRECTPRINT_USE_USB
-
-#include "directprintsession.h"
-#include "directprintclientserver.h"
-#include "directprintserver.h"
-#include "clog.h"
-#include "directprintbody.h"
-#include "directprintserverjobguard.h"
-#include "directprintnumofcopies.h"
-
-namespace
- {
- // panic
- _LIT( KDirectPrintSessionPanic, "CIPSes" );
- enum TDirectPrintSessionPanic
- {
- ENotSupported
- };
-
- void PanicClient( const TDpMessage& aMessage, TDirectPrintSessionPanic aCategory )
- {
- aMessage.Panic( KDirectPrintSessionPanic, aCategory );
- }
- }
-
-CDirectPrintSession::~CDirectPrintSession()
- {
- LOG("CDirectPrintSession::~CDirectPrintSession begin");
- delete iNumOfCopies;
- delete iJobGuard;
- iCapabilityIDs.Close();
- iMsgWrappers.ResetAndDestroy();
- iMsgWrappers.Close();
- Server().ReleaseEngine( this );
- Server().RemoveSession();
- LOG("CDirectPrintSession::~CDirectPrintSession end");
- }
-
-CDirectPrintServer& CDirectPrintSession::Server()
- {
- return *static_cast<CDirectPrintServer*>( const_cast<CServer2*>( CSession2::Server() ) );
- }
-
-void CDirectPrintSession::CreateL()
- {
- LOG("CDirectPrintSession::CreateL begin");
- Server().AddSession();
- iJobGuard = CDirectPrintServerJobGuard::NewL( Server().Engine() );
- iNumOfCopies = CDirectPrintNumOfCopies::NewL();
- iConnected = ETrue;
- LOG("CDirectPrintSession::CreateL end");
- }
-
-void CDirectPrintSession::Disconnect(const RMessage2 &aMessage)
- {
- LOG("CDirectPrintSession::Disconnect begin");
-// Server().Engine().HandleSessionDisconnect( iIdleGuard, iDiscoveryGuard, iJobGuard );
- Server().Engine().HandleSessionDisconnect( NULL, NULL, iJobGuard );
- iConnected = EFalse;
- CSession2::Disconnect( aMessage );
- LOG("CDirectPrintSession::Disconnect end");
- }
-
-void CDirectPrintSession::ServiceL( const RMessage2& aMessage )
- {
- LOG1("CDirectPrintSession::ServiceL aMessage.Function(): %d", aMessage.Function());
-
- // wrapper array clean begin
- TInt index = iMsgWrappers.Count();
- LOG1("CDirectPrintSession::ServiceL index: %d", index);
- TBool result( EFalse );
- while( --index >= 0 && !result )
- {
- if( ( iMsgWrappers[index] )->Disposable() )
- {
- TDpMessage* toDispose = iMsgWrappers[index];
- iMsgWrappers.Remove( index );
- delete toDispose;
- toDispose = NULL;
- result = ETrue;
- }
- }
- // wrapper array clean end
-
- TDpMessage* msgWrapper = new (ELeave) TDpMessage( aMessage, iConnected );
- TInt err = iMsgWrappers.Insert( msgWrapper, 0 );
- if( err )
- {
- delete msgWrapper;
- User::Leave( err );
- }
- else
- {
- msgWrapper = NULL;
- }
-
- TInt messageIndex = aMessage.Function();
-
- if ( messageIndex <= EContinuePrintJob )
- {
- ServiceFirstPartL( messageIndex );
- }
- else if ( messageIndex >= ERemoveCachedPrinter && messageIndex <= EGetPrinterCapHigh )
- {
- ServiceSecondPartL( messageIndex );
- }
- else if ( messageIndex >= EGetPrinterCapEnumCount && messageIndex <= EGetProtocolName )
- {
- ServiceThirdPartL ( messageIndex );
- }
- else
- {
- PanicClient( *iMsgWrappers[0], ENotSupported );
- }
-
- LOG("CDirectPrintSession::ServiceL end");
- }
-void CDirectPrintSession::ServiceFirstPartL( TInt aIndex )
- {
- switch( aIndex )
- {
- case ECountConnections:
- CountConnectionsL( *iMsgWrappers[0] );
- break;
-
- case ESetForeground:
- SetForegroundL( *iMsgWrappers[0] );
- break;
-
- case EReserveEngine:
- ReserveEngine( *iMsgWrappers[0] );
- break;
-
- case EReleaseEngine:
- ReleaseEngine( *iMsgWrappers[0] );
- break;
-
- case ESupportedProtocols:
- SupportedProtocols( *iMsgWrappers[0] );
- break;
-
- case EGetNumPrintPages:
- GetNumPrintPages( *iMsgWrappers[0] );
- break;
-
- case EGetJobStatus:
- GetJobStatus( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterStatus:
- GetPrinterStatus( *iMsgWrappers[0] );
- break;
-
- case ECancelDiscovery:
- CancelDiscovery( *iMsgWrappers[0] );
- break;
-
- case ESubmitPrintJob:
- SubmitPrintJobL( *iMsgWrappers[0] );
- break;
-
- case ECancelPrintJob:
- CancelPrintJob( *iMsgWrappers[0] );
- break;
-
- case EContinuePrintJob:
- ContinuePrintJobL( *iMsgWrappers[0] );
- break;
-
- default:
- LOG1("[CDirectPrintSession::ServiceFirstPartL]\t Method reached to an end with index: %d", aIndex);
- break;
- }
- }
-
-void CDirectPrintSession::ServiceSecondPartL( TInt aIndex )
- {
- switch( aIndex )
- {
- case ERemoveCachedPrinter:
- RemoveCachedPrinterL( *iMsgWrappers[0] );
- break;
-
- case EGetJobTemplateIcon:
- GetJobTemplateIconL( *iMsgWrappers[0] );
- break;
-
- case EGetNumPreviewPages:
- GetNumPreviewPages( *iMsgWrappers[0] );
- break;
-
- case ESetJobSetting:
- SetJobSettingL( *iMsgWrappers[0] );
- break;
-
- case EGetJobSetting:
- GetJobSettingL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapability:
- GetPrinterCapabilityL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapId:
- GetPrinterCapIdL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapType:
- GetPrinterCapTypeL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapDef:
- GetPrinterCapDefL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapLow:
- GetPrinterCapLowL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapHigh:
- GetPrinterCapHighL( *iMsgWrappers[0] );
- break;
-
- default:
- LOG1("[CDirectPrintSession::ServiceSecondPartL]\t Method reached to an end with index: %d", aIndex);
- break;
- }
- }
-
-void CDirectPrintSession::ServiceThirdPartL( TInt aIndex )
- {
- switch( aIndex )
- {
- case EGetPrinterCapEnumCount:
- GetPrinterCapEnumCountL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapEnum:
- GetPrinterCapEnumL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapabilityIDsCount:
- GetPrinterCapabilityIDsCountL( *iMsgWrappers[0] );
- break;
-
- case EGetPrinterCapabilityID:
- GetPrinterCapabilityIDL( *iMsgWrappers[0] );
- break;
-
- case ERegisterIdleObserver:
- RegisterIdleObserverL( *iMsgWrappers[0] );
- break;
-
- case ECancelRegisterIdleObserver:
- CancelRegisterIdleObserverL( *iMsgWrappers[0] );
- break;
-
- case EStartDiscovery:
- StartDiscoveryL( *iMsgWrappers[0] );
- break;
-
- case EContinueDiscovery:
- ContinueDiscoveryL( *iMsgWrappers[0] );
- break;
-
- case EPrepareJob:
- PrepareJobL( *iMsgWrappers[0] );
- break;
-
- case ECreateJob:
- CreateJobL( *iMsgWrappers[0] );
- break;
-
- case EContinueCreateJob:
- ContinueCreateJobL( *iMsgWrappers[0] );
- break;
-
- case ECancelStartDiscovery:
- CancelStartDiscoveryL( *iMsgWrappers[0] );
- break;
-
- case ECancelCreateJob:
- CancelCreateJobL( *iMsgWrappers[0] );
- break;
-
- case EIsPictBridgeMode:
- IsPictBridgeModeL( *iMsgWrappers[0] );
- break;
-
- case ESetNumberOfCopiesCount:
- SetNumberOfCopiesCountL( *iMsgWrappers[0] );
- break;
-
- case ESetNumberOfCopies:
- SetNumberOfCopiesL( *iMsgWrappers[0] );
- break;
-
- case EGetProtocolNamesCount:
- GetProtocolNamesCountL( *iMsgWrappers[0] );
- break;
-
- case EGetProtocolName:
- GetProtocolNameL( *iMsgWrappers[0] );
- break;
-
- default:
- LOG1("[CDirectPrintSession::ServiceThirdPartL]\t Method reached to an end with index: %d", aIndex);
- break;
- }
- }
-
-
-void CDirectPrintSession::CountConnectionsL( TDpMessage& aMessage )
- {
- TInt count = Server().SessionCount();
- TPckgC<TInt> countDes( count );
- aMessage.WriteL( 0, countDes );
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNone );
- }
-
-void CDirectPrintSession::SetForegroundL( TDpMessage& aMessage )
- {
- TInt fg = aMessage.Int0();
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNone );
- }
-
-void CDirectPrintSession::ReserveEngine( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::ReleaseEngine( TDpMessage& aMessage )
- {
- TInt err = Server().ReleaseEngine( this );
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::SupportedProtocols( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- aMessage.SetDisposable( ETrue );
- if( !err )
- {
- TInt protocols = Server().Engine().SupportedProtocols();
- aMessage.Complete( protocols );
- }
- else
- {
- aMessage.Complete( err );
- }
- }
-
-void CDirectPrintSession::GetNumPrintPages( TDpMessage& aMessage )
-{
- TInt err = Server().ReserveEngine( this );
- aMessage.SetDisposable( ETrue );
- if( !err )
- {
- TInt pages = Server().Engine().GetNumPrintPages();
- aMessage.Complete( pages );
- }
- else
- {
- aMessage.Complete( err );
- }
- }
-
-void CDirectPrintSession::GetJobStatus( TDpMessage& aMessage )
-{
- TInt err = Server().ReserveEngine( this );
- aMessage.SetDisposable( ETrue );
- if( !err )
- {
- TInt status = Server().Engine().GetJobStatus();
- aMessage.Complete( status );
- }
- else
- {
- aMessage.Complete( err );
- }
- }
-
-void CDirectPrintSession::GetPrinterStatus( TDpMessage& aMessage )
-{
- TInt err = Server().ReserveEngine( this );
- aMessage.SetDisposable( ETrue );
- if( !err )
- {
- TInt id = aMessage.Int0();
- TInt status = Server().Engine().GetPrinterStatus( id );
- aMessage.Complete( status );
- }
- else
- {
- aMessage.Complete( err );
- }
- }
-
-void CDirectPrintSession::CancelDiscovery( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- Server().Engine().CancelDiscovery();
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::SubmitPrintJobL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- Server().Engine().SubmitPrintJobL();
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::CancelPrintJob( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- err = Server().Engine().CancelPrintJob();
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::ContinuePrintJobL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- err = Server().Engine().ContinuePrintJobL();
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::RemoveCachedPrinterL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt id = aMessage.Int0();
- err = Server().Engine().RemoveCachedPrinterL( id );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetJobTemplateIconL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt id = aMessage.Int0();
- TInt handle;
- err = Server().Engine().GetJobTemplateIconL( id, handle );
- TPckgC<TInt> handleDes( handle );
- aMessage.WriteL( 1, handleDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetNumPreviewPages( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- aMessage.SetDisposable( ETrue );
- if( !err )
- {
- TInt num = Server().Engine().GetNumPreviewPages();
- aMessage.Complete( num );
- }
- else
- {
- aMessage.Complete( err );
- }
- }
-
-void CDirectPrintSession::SetJobSettingL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt capabilityID = aMessage.Int0();
- TInt value = aMessage.Int1();
- TInt affectedCapability;
-
- LOG2("CDirectPrintSession::SetJobSettingL || capabilityID = %d, value = %d", capabilityID, value );
-
- err = Server().Engine().SetJobSettingL( capabilityID, value, affectedCapability );
- TPckgC<TInt> affectedCapabilityDes( affectedCapability );
- aMessage.WriteL( 2, affectedCapabilityDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetJobSettingL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt capabilityID = aMessage.Int0();
- TInt value;
- err = Server().Engine().GetJobSetting( capabilityID, value );
- TPckgC<TInt> valueDes( value );
- aMessage.WriteL( 1, valueDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapabilityL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt printerID = aMessage.Int0();
- TInt capabilityID = aMessage.Int1();
- err = Server().Engine().GetPrinterCapabilityL( printerID, capabilityID, iCapability );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapIdL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> capIdDes( iCapability.iCapabilityID );
- aMessage.WriteL( 0, capIdDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapTypeL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> typeDes( iCapability.iType );
- aMessage.WriteL( 0, typeDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapDefL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> defDes( iCapability.iDefaultValue );
- aMessage.WriteL( 0, defDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapLowL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> lowDes( iCapability.iLow );
- aMessage.WriteL( 0, lowDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapHighL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> highDes( iCapability.iHigh );
- aMessage.WriteL( 0, highDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapEnumCountL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> countDes( iCapability.iEnumCount );
- aMessage.WriteL( 0, countDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapEnumL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt index = aMessage.Int0();
- TPckgC<TInt> enumDes( iCapability.iEnumCodes[index] );
- aMessage.WriteL( 1, enumDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-
-void CDirectPrintSession::GetPrinterCapabilityIDsCountL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- iCapabilityIDs.Reset();
- TInt printerID = aMessage.Int0();
- err = Server().Engine().GetPrinterCapabilityIDsL( printerID, iCapabilityIDs );
- if( !err )
- {
- TInt count = iCapabilityIDs.Count();
- TPckgC<TInt> countDes( count );
- aMessage.WriteL( 1, countDes );
- }
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetPrinterCapabilityIDL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TInt index = aMessage.Int0();
- TInt id = iCapabilityIDs[index];
- TPckgC<TInt> idDes( id );
- aMessage.WriteL( 1, idDes );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::RegisterIdleObserverL( TDpMessage& aMessage )
- {
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNotSupported );
- }
-
-void CDirectPrintSession::CancelRegisterIdleObserverL( TDpMessage& aMessage )
- {
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNotSupported );
- }
-
-void CDirectPrintSession::StartDiscoveryL( TDpMessage& aMessage )
- {
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNotSupported );
- }
-
-void CDirectPrintSession::ContinueDiscoveryL( TDpMessage& aMessage )
- {
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNotSupported );
- }
-
-void CDirectPrintSession::PrepareJobL( TDpMessage& aMessage )
- {
- iJobGuard->PrepareL( aMessage );
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNone );
- }
-
-void CDirectPrintSession::CreateJobL( TDpMessage& aMessage )
- {
- TInt err = iJobGuard->CreateL( aMessage );
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::ContinueCreateJobL( TDpMessage& aMessage )
- {
- iJobGuard->ContinueCreateL( aMessage );
- }
-
-void CDirectPrintSession::CancelStartDiscoveryL( TDpMessage& aMessage )
- {
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( KErrNotSupported );
- }
-
-void CDirectPrintSession::CancelCreateJobL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- iJobGuard->Stop();
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::IsPictBridgeModeL( TDpMessage& aMessage )
- {
-#ifdef _DIRECTPRINT_USE_USB
- RUsb usbManager;
- TUsbDeviceState dState;
- TInt personality;
- TInt err = EFalse;
- User::LeaveIfError( usbManager.Connect());
- User::LeaveIfError( usbManager.GetDeviceState(dState));
- User::LeaveIfError( usbManager.GetCurrentPersonalityId(personality));
- usbManager.Close();
-
- /*
- * If there is some problems with pictbridge, check from usbpersonalityids.h that constants haven't been changed.
- */
- if( dState == EUsbDeviceStateConfigured && personality == KUsbPersonalityIdMTP )
- err = ETrue;
-
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
-#else
- aMessage.SetDisposable( EFalse );
- aMessage.Complete( EFalse );
-#endif // _DIRECTPRINT_USE_USB
- }
-
-void CDirectPrintSession::SetNumberOfCopiesCountL( TDpMessage& aMessage )
- {
- LOG("CDirectPrintSession::CheckNumberOfCopiesL begin");
- TInt count = aMessage.Int0();
- LOG1("CDirectPrintSession::CheckNumberOfCopiesL count: %d", count);
- TInt err = ( count > 0 ) ? KErrNone : KErrInvalidData;
- if( !err )
- {
- iNumOfCopies->Reset( count );
- }
- LOG1("CDirectPrintSession::CheckNumberOfCopiesL return: %d", err);
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::SetNumberOfCopiesL( TDpMessage& aMessage )
- {
- LOG("CDirectPrintSession::SetNumberOfCopiesL begin");
- TInt copies = aMessage.Int0();
- LOG1("CDirectPrintSession::SetNumberOfCopiesL copies: %d", copies);
- TInt err = ( copies < 0 ) ? KErrInvalidData : KErrNone;
- if( !err )
- {
- TBool full;
- iNumOfCopies->AddNumOfCopyL( copies, full );
- LOG1("CDirectPrintSession::SetNumberOfCopiesL full: %d", full);
- if( full )
- {
- Server().Engine().SetNumsOfCopiesL( iNumOfCopies->NumsOfCopies(), err );
- }
- }
- LOG1("CDirectPrintSession::SetNumberOfCopiesL return: %d", err);
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetProtocolNamesCountL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- TPckgC<TInt> count( Server().Engine().ProtocolCount() );
- aMessage.WriteL( 0, count );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-void CDirectPrintSession::GetProtocolNameL( TDpMessage& aMessage )
- {
- TInt err = Server().ReserveEngine( this );
- if( !err )
- {
- err = Server().Engine().GetProtocolNameL( aMessage );
- }
- aMessage.SetDisposable( ETrue );
- aMessage.Complete( err );
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifdef _DIRECTPRINT_USE_USB
+#include <usbman.h>
+#include <usbstates.h>
+#include <usbpersonalityids.h>
+#endif // _DIRECTPRINT_USE_USB
+
+#include "directprintsession.h"
+#include "directprintclientserver.h"
+#include "directprintserver.h"
+#include "clog.h"
+#include "directprintbody.h"
+#include "directprintserverjobguard.h"
+#include "directprintnumofcopies.h"
+
+namespace
+ {
+ // panic
+ _LIT( KDirectPrintSessionPanic, "CIPSes" );
+ enum TDirectPrintSessionPanic
+ {
+ ENotSupported
+ };
+
+ void PanicClient( const TDpMessage& aMessage, TDirectPrintSessionPanic aCategory )
+ {
+ aMessage.Panic( KDirectPrintSessionPanic, aCategory );
+ }
+ }
+
+CDirectPrintSession::~CDirectPrintSession()
+ {
+ LOG("CDirectPrintSession::~CDirectPrintSession begin");
+ delete iNumOfCopies;
+ delete iJobGuard;
+ iCapabilityIDs.Close();
+ iMsgWrappers.ResetAndDestroy();
+ iMsgWrappers.Close();
+ Server().ReleaseEngine( this );
+ Server().RemoveSession();
+ LOG("CDirectPrintSession::~CDirectPrintSession end");
+ }
+
+CDirectPrintServer& CDirectPrintSession::Server()
+ {
+ return *static_cast<CDirectPrintServer*>( const_cast<CServer2*>( CSession2::Server() ) );
+ }
+
+void CDirectPrintSession::CreateL()
+ {
+ LOG("CDirectPrintSession::CreateL begin");
+ Server().AddSession();
+ iJobGuard = CDirectPrintServerJobGuard::NewL( Server().Engine() );
+ iNumOfCopies = CDirectPrintNumOfCopies::NewL();
+ iConnected = ETrue;
+ LOG("CDirectPrintSession::CreateL end");
+ }
+
+void CDirectPrintSession::Disconnect(const RMessage2 &aMessage)
+ {
+ LOG("CDirectPrintSession::Disconnect begin");
+// Server().Engine().HandleSessionDisconnect( iIdleGuard, iDiscoveryGuard, iJobGuard );
+ Server().Engine().HandleSessionDisconnect( NULL, NULL, iJobGuard );
+ iConnected = EFalse;
+ CSession2::Disconnect( aMessage );
+ LOG("CDirectPrintSession::Disconnect end");
+ }
+
+void CDirectPrintSession::ServiceL( const RMessage2& aMessage )
+ {
+ LOG1("CDirectPrintSession::ServiceL aMessage.Function(): %d", aMessage.Function());
+
+ // wrapper array clean begin
+ TInt index = iMsgWrappers.Count();
+ LOG1("CDirectPrintSession::ServiceL index: %d", index);
+ TBool result( EFalse );
+ while( --index >= 0 && !result )
+ {
+ if( ( iMsgWrappers[index] )->Disposable() )
+ {
+ TDpMessage* toDispose = iMsgWrappers[index];
+ iMsgWrappers.Remove( index );
+ delete toDispose;
+ toDispose = NULL;
+ result = ETrue;
+ }
+ }
+ // wrapper array clean end
+
+ TDpMessage* msgWrapper = new (ELeave) TDpMessage( aMessage, iConnected );
+ TInt err = iMsgWrappers.Insert( msgWrapper, 0 );
+ if( err )
+ {
+ delete msgWrapper;
+ User::Leave( err );
+ }
+ else
+ {
+ msgWrapper = NULL;
+ }
+
+ TInt messageIndex = aMessage.Function();
+
+ if ( messageIndex <= EContinuePrintJob )
+ {
+ ServiceFirstPartL( messageIndex );
+ }
+ else if ( messageIndex >= ERemoveCachedPrinter && messageIndex <= EGetPrinterCapHigh )
+ {
+ ServiceSecondPartL( messageIndex );
+ }
+ else if ( messageIndex >= EGetPrinterCapEnumCount && messageIndex <= EGetProtocolName )
+ {
+ ServiceThirdPartL ( messageIndex );
+ }
+ else
+ {
+ PanicClient( *iMsgWrappers[0], ENotSupported );
+ }
+
+ LOG("CDirectPrintSession::ServiceL end");
+ }
+void CDirectPrintSession::ServiceFirstPartL( TInt aIndex )
+ {
+ switch( aIndex )
+ {
+ case ECountConnections:
+ CountConnectionsL( *iMsgWrappers[0] );
+ break;
+
+ case ESetForeground:
+ SetForegroundL( *iMsgWrappers[0] );
+ break;
+
+ case EReserveEngine:
+ ReserveEngine( *iMsgWrappers[0] );
+ break;
+
+ case EReleaseEngine:
+ ReleaseEngine( *iMsgWrappers[0] );
+ break;
+
+ case ESupportedProtocols:
+ SupportedProtocols( *iMsgWrappers[0] );
+ break;
+
+ case EGetNumPrintPages:
+ GetNumPrintPages( *iMsgWrappers[0] );
+ break;
+
+ case EGetJobStatus:
+ GetJobStatus( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterStatus:
+ GetPrinterStatus( *iMsgWrappers[0] );
+ break;
+
+ case ECancelDiscovery:
+ CancelDiscovery( *iMsgWrappers[0] );
+ break;
+
+ case ESubmitPrintJob:
+ SubmitPrintJobL( *iMsgWrappers[0] );
+ break;
+
+ case ECancelPrintJob:
+ CancelPrintJob( *iMsgWrappers[0] );
+ break;
+
+ case EContinuePrintJob:
+ ContinuePrintJobL( *iMsgWrappers[0] );
+ break;
+
+ default:
+ LOG1("[CDirectPrintSession::ServiceFirstPartL]\t Method reached to an end with index: %d", aIndex);
+ break;
+ }
+ }
+
+void CDirectPrintSession::ServiceSecondPartL( TInt aIndex )
+ {
+ switch( aIndex )
+ {
+ case ERemoveCachedPrinter:
+ RemoveCachedPrinterL( *iMsgWrappers[0] );
+ break;
+
+ case EGetJobTemplateIcon:
+ GetJobTemplateIconL( *iMsgWrappers[0] );
+ break;
+
+ case EGetNumPreviewPages:
+ GetNumPreviewPages( *iMsgWrappers[0] );
+ break;
+
+ case ESetJobSetting:
+ SetJobSettingL( *iMsgWrappers[0] );
+ break;
+
+ case EGetJobSetting:
+ GetJobSettingL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapability:
+ GetPrinterCapabilityL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapId:
+ GetPrinterCapIdL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapType:
+ GetPrinterCapTypeL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapDef:
+ GetPrinterCapDefL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapLow:
+ GetPrinterCapLowL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapHigh:
+ GetPrinterCapHighL( *iMsgWrappers[0] );
+ break;
+
+ default:
+ LOG1("[CDirectPrintSession::ServiceSecondPartL]\t Method reached to an end with index: %d", aIndex);
+ break;
+ }
+ }
+
+void CDirectPrintSession::ServiceThirdPartL( TInt aIndex )
+ {
+ switch( aIndex )
+ {
+ case EGetPrinterCapEnumCount:
+ GetPrinterCapEnumCountL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapEnum:
+ GetPrinterCapEnumL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapabilityIDsCount:
+ GetPrinterCapabilityIDsCountL( *iMsgWrappers[0] );
+ break;
+
+ case EGetPrinterCapabilityID:
+ GetPrinterCapabilityIDL( *iMsgWrappers[0] );
+ break;
+
+ case ERegisterIdleObserver:
+ RegisterIdleObserverL( *iMsgWrappers[0] );
+ break;
+
+ case ECancelRegisterIdleObserver:
+ CancelRegisterIdleObserverL( *iMsgWrappers[0] );
+ break;
+
+ case EStartDiscovery:
+ StartDiscoveryL( *iMsgWrappers[0] );
+ break;
+
+ case EContinueDiscovery:
+ ContinueDiscoveryL( *iMsgWrappers[0] );
+ break;
+
+ case EPrepareJob:
+ PrepareJobL( *iMsgWrappers[0] );
+ break;
+
+ case ECreateJob:
+ CreateJobL( *iMsgWrappers[0] );
+ break;
+
+ case EContinueCreateJob:
+ ContinueCreateJobL( *iMsgWrappers[0] );
+ break;
+
+ case ECancelStartDiscovery:
+ CancelStartDiscoveryL( *iMsgWrappers[0] );
+ break;
+
+ case ECancelCreateJob:
+ CancelCreateJobL( *iMsgWrappers[0] );
+ break;
+
+ case EIsPictBridgeMode:
+ IsPictBridgeModeL( *iMsgWrappers[0] );
+ break;
+
+ case ESetNumberOfCopiesCount:
+ SetNumberOfCopiesCountL( *iMsgWrappers[0] );
+ break;
+
+ case ESetNumberOfCopies:
+ SetNumberOfCopiesL( *iMsgWrappers[0] );
+ break;
+
+ case EGetProtocolNamesCount:
+ GetProtocolNamesCountL( *iMsgWrappers[0] );
+ break;
+
+ case EGetProtocolName:
+ GetProtocolNameL( *iMsgWrappers[0] );
+ break;
+
+ default:
+ LOG1("[CDirectPrintSession::ServiceThirdPartL]\t Method reached to an end with index: %d", aIndex);
+ break;
+ }
+ }
+
+
+void CDirectPrintSession::CountConnectionsL( TDpMessage& aMessage )
+ {
+ TInt count = Server().SessionCount();
+ TPckgC<TInt> countDes( count );
+ aMessage.WriteL( 0, countDes );
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNone );
+ }
+
+void CDirectPrintSession::SetForegroundL( TDpMessage& aMessage )
+ {
+ TInt fg = aMessage.Int0();
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNone );
+ }
+
+void CDirectPrintSession::ReserveEngine( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::ReleaseEngine( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReleaseEngine( this );
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::SupportedProtocols( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ aMessage.SetDisposable( ETrue );
+ if( !err )
+ {
+ TInt protocols = Server().Engine().SupportedProtocols();
+ aMessage.Complete( protocols );
+ }
+ else
+ {
+ aMessage.Complete( err );
+ }
+ }
+
+void CDirectPrintSession::GetNumPrintPages( TDpMessage& aMessage )
+{
+ TInt err = Server().ReserveEngine( this );
+ aMessage.SetDisposable( ETrue );
+ if( !err )
+ {
+ TInt pages = Server().Engine().GetNumPrintPages();
+ aMessage.Complete( pages );
+ }
+ else
+ {
+ aMessage.Complete( err );
+ }
+ }
+
+void CDirectPrintSession::GetJobStatus( TDpMessage& aMessage )
+{
+ TInt err = Server().ReserveEngine( this );
+ aMessage.SetDisposable( ETrue );
+ if( !err )
+ {
+ TInt status = Server().Engine().GetJobStatus();
+ aMessage.Complete( status );
+ }
+ else
+ {
+ aMessage.Complete( err );
+ }
+ }
+
+void CDirectPrintSession::GetPrinterStatus( TDpMessage& aMessage )
+{
+ TInt err = Server().ReserveEngine( this );
+ aMessage.SetDisposable( ETrue );
+ if( !err )
+ {
+ TInt id = aMessage.Int0();
+ TInt status = Server().Engine().GetPrinterStatus( id );
+ aMessage.Complete( status );
+ }
+ else
+ {
+ aMessage.Complete( err );
+ }
+ }
+
+void CDirectPrintSession::CancelDiscovery( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ Server().Engine().CancelDiscovery();
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::SubmitPrintJobL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ Server().Engine().SubmitPrintJobL();
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::CancelPrintJob( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ err = Server().Engine().CancelPrintJob();
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::ContinuePrintJobL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ err = Server().Engine().ContinuePrintJobL();
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::RemoveCachedPrinterL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt id = aMessage.Int0();
+ err = Server().Engine().RemoveCachedPrinterL( id );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetJobTemplateIconL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt id = aMessage.Int0();
+ TInt handle;
+ err = Server().Engine().GetJobTemplateIconL( id, handle );
+ TPckgC<TInt> handleDes( handle );
+ aMessage.WriteL( 1, handleDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetNumPreviewPages( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ aMessage.SetDisposable( ETrue );
+ if( !err )
+ {
+ TInt num = Server().Engine().GetNumPreviewPages();
+ aMessage.Complete( num );
+ }
+ else
+ {
+ aMessage.Complete( err );
+ }
+ }
+
+void CDirectPrintSession::SetJobSettingL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt capabilityID = aMessage.Int0();
+ TInt value = aMessage.Int1();
+ TInt affectedCapability;
+
+ LOG2("CDirectPrintSession::SetJobSettingL || capabilityID = %d, value = %d", capabilityID, value );
+
+ err = Server().Engine().SetJobSettingL( capabilityID, value, affectedCapability );
+ TPckgC<TInt> affectedCapabilityDes( affectedCapability );
+ aMessage.WriteL( 2, affectedCapabilityDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetJobSettingL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt capabilityID = aMessage.Int0();
+ TInt value;
+ err = Server().Engine().GetJobSetting( capabilityID, value );
+ TPckgC<TInt> valueDes( value );
+ aMessage.WriteL( 1, valueDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapabilityL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt printerID = aMessage.Int0();
+ TInt capabilityID = aMessage.Int1();
+ err = Server().Engine().GetPrinterCapabilityL( printerID, capabilityID, iCapability );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapIdL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> capIdDes( iCapability.iCapabilityID );
+ aMessage.WriteL( 0, capIdDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapTypeL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> typeDes( iCapability.iType );
+ aMessage.WriteL( 0, typeDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapDefL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> defDes( iCapability.iDefaultValue );
+ aMessage.WriteL( 0, defDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapLowL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> lowDes( iCapability.iLow );
+ aMessage.WriteL( 0, lowDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapHighL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> highDes( iCapability.iHigh );
+ aMessage.WriteL( 0, highDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapEnumCountL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> countDes( iCapability.iEnumCount );
+ aMessage.WriteL( 0, countDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapEnumL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt index = aMessage.Int0();
+ TPckgC<TInt> enumDes( iCapability.iEnumCodes[index] );
+ aMessage.WriteL( 1, enumDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+
+void CDirectPrintSession::GetPrinterCapabilityIDsCountL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ iCapabilityIDs.Reset();
+ TInt printerID = aMessage.Int0();
+ err = Server().Engine().GetPrinterCapabilityIDsL( printerID, iCapabilityIDs );
+ if( !err )
+ {
+ TInt count = iCapabilityIDs.Count();
+ TPckgC<TInt> countDes( count );
+ aMessage.WriteL( 1, countDes );
+ }
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetPrinterCapabilityIDL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TInt index = aMessage.Int0();
+ TInt id = iCapabilityIDs[index];
+ TPckgC<TInt> idDes( id );
+ aMessage.WriteL( 1, idDes );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::RegisterIdleObserverL( TDpMessage& aMessage )
+ {
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNotSupported );
+ }
+
+void CDirectPrintSession::CancelRegisterIdleObserverL( TDpMessage& aMessage )
+ {
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNotSupported );
+ }
+
+void CDirectPrintSession::StartDiscoveryL( TDpMessage& aMessage )
+ {
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNotSupported );
+ }
+
+void CDirectPrintSession::ContinueDiscoveryL( TDpMessage& aMessage )
+ {
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNotSupported );
+ }
+
+void CDirectPrintSession::PrepareJobL( TDpMessage& aMessage )
+ {
+ iJobGuard->PrepareL( aMessage );
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNone );
+ }
+
+void CDirectPrintSession::CreateJobL( TDpMessage& aMessage )
+ {
+ TInt err = iJobGuard->CreateL( aMessage );
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::ContinueCreateJobL( TDpMessage& aMessage )
+ {
+ iJobGuard->ContinueCreateL( aMessage );
+ }
+
+void CDirectPrintSession::CancelStartDiscoveryL( TDpMessage& aMessage )
+ {
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( KErrNotSupported );
+ }
+
+void CDirectPrintSession::CancelCreateJobL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ iJobGuard->Stop();
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::IsPictBridgeModeL( TDpMessage& aMessage )
+ {
+#ifdef _DIRECTPRINT_USE_USB
+ RUsb usbManager;
+ TUsbDeviceState dState;
+ TInt personality;
+ TInt err = EFalse;
+ User::LeaveIfError( usbManager.Connect());
+ User::LeaveIfError( usbManager.GetDeviceState(dState));
+ User::LeaveIfError( usbManager.GetCurrentPersonalityId(personality));
+ usbManager.Close();
+
+ /*
+ * If there is some problems with pictbridge, check from usbpersonalityids.h that constants haven't been changed.
+ */
+ if( dState == EUsbDeviceStateConfigured && personality == KUsbPersonalityIdMTP )
+ err = ETrue;
+
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+#else
+ aMessage.SetDisposable( EFalse );
+ aMessage.Complete( EFalse );
+#endif // _DIRECTPRINT_USE_USB
+ }
+
+void CDirectPrintSession::SetNumberOfCopiesCountL( TDpMessage& aMessage )
+ {
+ LOG("CDirectPrintSession::CheckNumberOfCopiesL begin");
+ TInt count = aMessage.Int0();
+ LOG1("CDirectPrintSession::CheckNumberOfCopiesL count: %d", count);
+ TInt err = ( count > 0 ) ? KErrNone : KErrInvalidData;
+ if( !err )
+ {
+ iNumOfCopies->Reset( count );
+ }
+ LOG1("CDirectPrintSession::CheckNumberOfCopiesL return: %d", err);
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::SetNumberOfCopiesL( TDpMessage& aMessage )
+ {
+ LOG("CDirectPrintSession::SetNumberOfCopiesL begin");
+ TInt copies = aMessage.Int0();
+ LOG1("CDirectPrintSession::SetNumberOfCopiesL copies: %d", copies);
+ TInt err = ( copies < 0 ) ? KErrInvalidData : KErrNone;
+ if( !err )
+ {
+ TBool full;
+ iNumOfCopies->AddNumOfCopyL( copies, full );
+ LOG1("CDirectPrintSession::SetNumberOfCopiesL full: %d", full);
+ if( full )
+ {
+ Server().Engine().SetNumsOfCopiesL( iNumOfCopies->NumsOfCopies(), err );
+ }
+ }
+ LOG1("CDirectPrintSession::SetNumberOfCopiesL return: %d", err);
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetProtocolNamesCountL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ TPckgC<TInt> count( Server().Engine().ProtocolCount() );
+ aMessage.WriteL( 0, count );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+void CDirectPrintSession::GetProtocolNameL( TDpMessage& aMessage )
+ {
+ TInt err = Server().ReserveEngine( this );
+ if( !err )
+ {
+ err = Server().Engine().GetProtocolNameL( aMessage );
+ }
+ aMessage.SetDisposable( ETrue );
+ aMessage.Complete( err );
+ }
+
+// End of File
--- a/DirectPrint/DirectPrintServer/src/main.cpp Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/DirectPrintServer/src/main.cpp Tue May 11 14:10:02 2010 +0800
@@ -1,60 +1,60 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <e32base.h>
-
-#include "directprintclientserver.h"
-#include "directprintserver.h"
-#include "directprintscheduler.h"
-#include "clog.h"
-
-// init and run the server
-static void RunTheServerL()
- {
-#ifndef __SECURE_API__
- User::LeaveIfError( RThread().Rename( KDirectPrintServerName ) ); //Deprecated! Replace this with the line below as soon as possible
-#else
- User::LeaveIfError( RThread().RenameMe( KDirectPrintServerName ) );
-#endif
-
- CActiveScheduler* scheduler = new (ELeave) CDirectPrintScheduler;
- CleanupStack::PushL( scheduler );
- CActiveScheduler::Install( scheduler );
-
- CDirectPrintServer::NewLC();
-
- RProcess::Rendezvous( KErrNone );
-
- CActiveScheduler::Start();
- CleanupStack::PopAndDestroy( 2 ); // CDirectPrintServer, scheduler
- }
-
-// Server process entry-point
-TInt E32Main()
- {
- CTrapCleanup* cleanup = CTrapCleanup::New();
- TInt r( KErrNoMemory );
- if( cleanup )
- {
- TRAP( r, RunTheServerL() );
- delete cleanup;
- }
- return r;
- }
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <e32base.h>
+
+#include "directprintclientserver.h"
+#include "directprintserver.h"
+#include "directprintscheduler.h"
+#include "clog.h"
+
+// init and run the server
+static void RunTheServerL()
+ {
+#ifndef __SECURE_API__
+ User::LeaveIfError( RThread().Rename( KDirectPrintServerName ) ); //Deprecated! Replace this with the line below as soon as possible
+#else
+ User::LeaveIfError( RThread().RenameMe( KDirectPrintServerName ) );
+#endif
+
+ CActiveScheduler* scheduler = new (ELeave) CDirectPrintScheduler;
+ CleanupStack::PushL( scheduler );
+ CActiveScheduler::Install( scheduler );
+
+ CDirectPrintServer::NewLC();
+
+ RProcess::Rendezvous( KErrNone );
+
+ CActiveScheduler::Start();
+ CleanupStack::PopAndDestroy( 2 ); // CDirectPrintServer, scheduler
+ }
+
+// Server process entry-point
+TInt E32Main()
+ {
+ CTrapCleanup* cleanup = CTrapCleanup::New();
+ TInt r( KErrNoMemory );
+ if( cleanup )
+ {
+ TRAP( r, RunTheServerL() );
+ delete cleanup;
+ }
+ return r;
+ }
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/imageprint.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/imageprint.h Tue May 11 14:10:02 2010 +0800
@@ -1,153 +1,153 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Client include file for the ImagePrint server. Contains the
-* CImagePrint class definition, and the following interfaces:
-* MIdleObserver, MPrinterDiscoveryObserver and MPrintEventObserver
-*
-*/
-
-
-// Protection against nested includes
-#ifndef IMAGEPRINT_H
-#define IMAGEPRINT_H
-
-// System includes
-#include <e32base.h>
-
-class TPrinter;
-class TEvent;
-
-_LIT( KTabChar, "\t" );
-_LIT( KParamFile, "\\system\\data\\T_AIW_TEMP.DAT");
-
-/// Error constant defined to indicate Invalid Sequence.
-const TInt KErrInvalidSequence = -50;
-/// Error constant defined to indicate Invalid Data.
-const TInt KErrInvalidData = -51;
-/// Error constant defined to indicate that a printer has been connected
-const TInt KErrConnected = -500;
-
-/// BPP Protocol Identifier.
-const TUint KImagePrint_PrinterProtocol_BPP = 1;
-/// BIP Protocol Identifier.
-const TUint KImagePrint_PrinterProtocol_BIP = 2;
-/// OPP Protocol Identifier (Printer).
-const TUint KImagePrint_PrinterProtocol_OPP_Printer = 4;
-/// DPOF Protocol Identifier.
-const TUint KImagePrint_PrinterProtocol_DPOF = 8;
-/// PictBridge Protocol Identifier.
-const TUint KImagePrint_PrinterProtocol_PictBridge = 16;
-/// OPP Protocol Identifier (PC).
-const TUint KImagePrint_PrinterProtocol_OPP_PC = 32;
-/// UPnP Protocol Identifier
-const TUint KImagePrint_PrinterProtocol_UPnP = 64;
-/// LPR Protocol Identifier
-const TUint KImagePrint_PrinterProtocol_LPR = 128;
-
-/// Enums used to specify the current state in the DiscoveryStatusL callback.
-enum TDiscoveryStatus
- {
- EDiscoverying = 0,
- EDiscoveryFinished = 1,
- EDiscoveryCancelling = 2
- };
-
-/// Enums used to specify the current state in the PrintJobProgressEvent callback.
-enum TPrintJobProgressEventStatus
- {
- EActive = 0,
- EDone = 1
- };
-
-/**
- * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report anything related
- * to the discovery process.
- */
-class MPrinterDiscoveryObserver
- {
- public:
- /**
- * Called by Image Printer Server to notify the client application that a printer was discovered.
- * @param aPrinterInfo Contains printer information of the discovered device.
- */
- virtual void FoundPrinterL( const TPrinter& aPrinterInfo ) = 0;
- /**
- * Called by Image Printer Server to notify the client application that an operation
- * has completed, either successfully or with an error.
- * @param aStatus Indicate the status of the discovery process. One of the values of \c ::TDiscoveryStatus
- * @param aErrorCode \c KErrNone if there was no error, otherwise another of the system-wide error codes.
- * @param aErrorStringCode StringCode - Descriptive text that can be used to further explain error.
- */
- virtual void DiscoveryStatusL( TInt aStatus,
- TInt aErrorCode,
- TInt aErrorStringCode ) = 0;
- /**
- * Called by Image Printer Server to notify the client application that a printer
- * returned from the cache was not discovered during the discovery phase,
- * and should be removed from the UI. If this call is needed, it will be made
- * after all BPP printers have been returned, but before the discovery completes.
- * @param aPrinterInfo Contains printer information of the printer that was not found during discovery
- */
- virtual void RemovePrinterL( const TPrinter& aPrinterInfo ) = 0;
- };
-
-/**
- * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report anything related
- * to the printing process, once it is started.
- */
-class MPrintEventObserver
- {
- public:
- virtual void PrintJobProgressEvent( TInt aStatus,
- TInt aPercentCompletion,
- TInt aJobStateCode ) = 0;
-
- virtual void PrintJobErrorEvent( TInt aError,
- TInt aErrorStringCode ) = 0;
-
- virtual void PrinterStatusEvent( TInt aError,
- TInt aErrorStringCode ) = 0;
-
- virtual void PreviewImageEvent( TInt aFsBitmapHandle ) = 0;
-
- virtual void ShowMessageL( TInt aMsgLine1Code,
- TInt aMsgLine2Code ) = 0;
-
- virtual TBool AskYesNoQuestionL( TInt aMsgLine1Code,
- TInt aMsgLine2Code ) = 0;
-
- virtual const TDesC& AskForInputL( TInt aMsgLine1Code,
- TInt aMsgLine2Code ) = 0;
- };
-
-/**
- * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report
- * anything related to status changes in the handling protocol.
- * @sa CImagePrint::RegisterIdleObserver
- */
-class MIdleObserver
- {
- public:
- /** Called by CImagePrint to notify of events. The meaning of the event and associated error and mesage codes
- * is protocol dependant.
- */
- virtual void StatusEvent( const TEvent &aEvent,
- TInt aError,
- TInt aMsgCode ) = 0;
- };
-
-
-#endif // IMAGEPRINT_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Client include file for the ImagePrint server. Contains the
+* CImagePrint class definition, and the following interfaces:
+* MIdleObserver, MPrinterDiscoveryObserver and MPrintEventObserver
+*
+*/
+
+
+// Protection against nested includes
+#ifndef IMAGEPRINT_H
+#define IMAGEPRINT_H
+
+// System includes
+#include <e32base.h>
+
+class TPrinter;
+class TEvent;
+
+_LIT( KTabChar, "\t" );
+_LIT( KParamFile, "\\system\\data\\T_AIW_TEMP.DAT");
+
+/// Error constant defined to indicate Invalid Sequence.
+const TInt KErrInvalidSequence = -50;
+/// Error constant defined to indicate Invalid Data.
+const TInt KErrInvalidData = -51;
+/// Error constant defined to indicate that a printer has been connected
+const TInt KErrConnected = -500;
+
+/// BPP Protocol Identifier.
+const TUint KImagePrint_PrinterProtocol_BPP = 1;
+/// BIP Protocol Identifier.
+const TUint KImagePrint_PrinterProtocol_BIP = 2;
+/// OPP Protocol Identifier (Printer).
+const TUint KImagePrint_PrinterProtocol_OPP_Printer = 4;
+/// DPOF Protocol Identifier.
+const TUint KImagePrint_PrinterProtocol_DPOF = 8;
+/// PictBridge Protocol Identifier.
+const TUint KImagePrint_PrinterProtocol_PictBridge = 16;
+/// OPP Protocol Identifier (PC).
+const TUint KImagePrint_PrinterProtocol_OPP_PC = 32;
+/// UPnP Protocol Identifier
+const TUint KImagePrint_PrinterProtocol_UPnP = 64;
+/// LPR Protocol Identifier
+const TUint KImagePrint_PrinterProtocol_LPR = 128;
+
+/// Enums used to specify the current state in the DiscoveryStatusL callback.
+enum TDiscoveryStatus
+ {
+ EDiscoverying = 0,
+ EDiscoveryFinished = 1,
+ EDiscoveryCancelling = 2
+ };
+
+/// Enums used to specify the current state in the PrintJobProgressEvent callback.
+enum TPrintJobProgressEventStatus
+ {
+ EActive = 0,
+ EDone = 1
+ };
+
+/**
+ * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report anything related
+ * to the discovery process.
+ */
+class MPrinterDiscoveryObserver
+ {
+ public:
+ /**
+ * Called by Image Printer Server to notify the client application that a printer was discovered.
+ * @param aPrinterInfo Contains printer information of the discovered device.
+ */
+ virtual void FoundPrinterL( const TPrinter& aPrinterInfo ) = 0;
+ /**
+ * Called by Image Printer Server to notify the client application that an operation
+ * has completed, either successfully or with an error.
+ * @param aStatus Indicate the status of the discovery process. One of the values of \c ::TDiscoveryStatus
+ * @param aErrorCode \c KErrNone if there was no error, otherwise another of the system-wide error codes.
+ * @param aErrorStringCode StringCode - Descriptive text that can be used to further explain error.
+ */
+ virtual void DiscoveryStatusL( TInt aStatus,
+ TInt aErrorCode,
+ TInt aErrorStringCode ) = 0;
+ /**
+ * Called by Image Printer Server to notify the client application that a printer
+ * returned from the cache was not discovered during the discovery phase,
+ * and should be removed from the UI. If this call is needed, it will be made
+ * after all BPP printers have been returned, but before the discovery completes.
+ * @param aPrinterInfo Contains printer information of the printer that was not found during discovery
+ */
+ virtual void RemovePrinterL( const TPrinter& aPrinterInfo ) = 0;
+ };
+
+/**
+ * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report anything related
+ * to the printing process, once it is started.
+ */
+class MPrintEventObserver
+ {
+ public:
+ virtual void PrintJobProgressEvent( TInt aStatus,
+ TInt aPercentCompletion,
+ TInt aJobStateCode ) = 0;
+
+ virtual void PrintJobErrorEvent( TInt aError,
+ TInt aErrorStringCode ) = 0;
+
+ virtual void PrinterStatusEvent( TInt aError,
+ TInt aErrorStringCode ) = 0;
+
+ virtual void PreviewImageEvent( TInt aFsBitmapHandle ) = 0;
+
+ virtual void ShowMessageL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code ) = 0;
+
+ virtual TBool AskYesNoQuestionL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code ) = 0;
+
+ virtual const TDesC& AskForInputL( TInt aMsgLine1Code,
+ TInt aMsgLine2Code ) = 0;
+ };
+
+/**
+ * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report
+ * anything related to status changes in the handling protocol.
+ * @sa CImagePrint::RegisterIdleObserver
+ */
+class MIdleObserver
+ {
+ public:
+ /** Called by CImagePrint to notify of events. The meaning of the event and associated error and mesage codes
+ * is protocol dependant.
+ */
+ virtual void StatusEvent( const TEvent &aEvent,
+ TInt aError,
+ TInt aMsgCode ) = 0;
+ };
+
+
+#endif // IMAGEPRINT_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/imageprint.rh Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/imageprint.rh Tue May 11 14:10:02 2010 +0800
@@ -1,35 +1,35 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Contains the following interfaces: MProtPrintingDevice,
-* MProtIdleObserver, MProtPrintEventObserver and MProtDiscoveryObserver.
-*
-*/
-
-
-STRUCT RS_CAPABILITY
-{
- LONG printerclass;
- LONG capabilityid;
- LONG type;
- LONG defaultvalue;
- LONG low;
- LONG high;
- LONG enumcodes[]; //code and link pair
- LONG linkid;
-}
-
-STRUCT RS_CAPABILITIES
-{
- STRUCT capabilities[];
-}
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Contains the following interfaces: MProtPrintingDevice,
+* MProtIdleObserver, MProtPrintEventObserver and MProtDiscoveryObserver.
+*
+*/
+
+
+STRUCT RS_CAPABILITY
+{
+ LONG printerclass;
+ LONG capabilityid;
+ LONG type;
+ LONG defaultvalue;
+ LONG low;
+ LONG high;
+ LONG enumcodes[]; //code and link pair
+ LONG linkid;
+}
+
+STRUCT RS_CAPABILITIES
+{
+ STRUCT capabilities[];
+}
--- a/DirectPrint/ImagePrintLibrary/inc/printmessagecodes.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/printmessagecodes.h Tue May 11 14:10:02 2010 +0800
@@ -1,174 +1,174 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Contains the TPrintErrorMessageCodes and TPrintMessageCodes enumerations.
-*
-*/
-
-
-#ifndef PRINTMESSAGECODES_H
-#define PRINTMESSAGECODES_H
-
-/// Global printing Error Message Codes.
-// All supported by UI
-enum TPrintErrorMessageCodes
-{
- EObexConnectError = -3000,
- EObexSendError = -3001,
- EObexDisconnectError = -3002,
- EObexGeneralError = -3003,
-};
-
-/// Global printing Message Codes.
-enum TPrintMessageCodes
-{
- // No message
- ENoMessage = 0,
-
- // Print Progress Codes
- EJobPending = 3100,
- EPrinting = 3101,
- ECopying = 3102,
- ECancelling = 3103,
- ECancellingNoMessage = 3104,
-
- // Pict Bridge
- EPbOutOfPaper = 3300, ///<@deprecated Use TPrintMessageCodes::EPbStatusErrorReasonPaperEmpty
- EPbCheckPrinter = 3301,
- EPbPrinterIsDisconnected = 3302,
- EPbPrinterIsConnected = 3303,
- EPbFileNotSupported = 3304,
- EPbFileNotFound = 3305,
-
- EPbStatusErrorReasonNoReason, /*3306*/ ///<@brief No reason
- EPbStatusErrorReasonPaper, ///<@brief Paper-related error
- EPbStatusErrorReasonInk, ///<@brief Ink-related error
- EPbStatusErrorReasonHardware, ///<@brief Hardware-related error
- EPbStatusErrorReasonFile, ///<@brief File-related error
- EPbStatusErrorReasonPaperEmpty, /*3311*/ ///<@brief Paper is empty
- EPbStatusErrorReasonPaperLoad, ///<@brief Load error - paper not loaded correctly
- EPbStatusErrorReasonPaperEject, ///<@brief Eject error - paper not ejected correctly
- EPbStatusErrorReasonPaperMedia, ///<@brief Media error - paper is not detected, paper skewed, roll paper connot be cut or torn-off
- EPbStatusErrorReasonPaperJam, ///<@brief Paper jam
- EPbStatusErrorReasonPaperNearlyEmpty, ///<@brief Paper nearly empty
- EPbStatusErrorReasonPaperCombination, ///<@brief Paper type / paper size combination not supported, or paper found in printer does not match request
- EPbStatusErrorReasonInkEmpty, /*18*/ ///<@brief Ink empty
- EPbStatusErrorReasonInkLow, ///<@brief Ink low
- EPbStatusErrorReasonInkWaste, ///<@brief Waste ink error (waste-ink reservior full).
- EPbStatusErrorReasonHardwareFatal, /*21*/ ///<@brief Fatal error
- EPbStatusErrorReasonWarning, // warning
- EPbStatusErrorReasonHardwareServiceCall, ///<@brief Service call
- EPbStatusErrorReasonHardwarePrinterUnavailable, ///<@brief Printer unavailable (performing maintenance or otherwise occupied)
- EPbStatusErrorReasonHardwarePrinterBusy, ///<@brief Printer busy (processing a job from another source, e.g. a PC)
- EPbStatusErrorReasonHardwareLever, ///<@brief Lever error (lever position not correct)
- EPbStatusErrorReasonHardwareCoverOpen, ///<@brief Cover open
- EPbStatusErrorReasonHardwareNoMarkingAgent, ///<@brief No marking agent (e.g. missing printer head)
- EPbStatusErrorReasonHardwareInkCoverOpen, ///<@brief Ink cover open
- EPbStatusErrorReasonHardwareNoInkCartridge, ///<@brief No ink cartridge
- EPbStatusErrorReasonFilePrintInfo, /*31*/ ///<@brief printInfo error (specified <printInfo> is too large).
- EPbStatusErrorReasonFileFileDecode, ///<@brief File decode error (picture format of specified image cannot be decoded).
-
- // Printer status reasons
- EPrintReasonAttentionRequired, /*33*/ ///<@brief Indicates reason other than those listed
- EPrintReasonPaused, ///<@brief Someone has paused the printer and the PrinterState is "stopped". In this state, a Printer may not produce printed output.
- EPrintReasonOutputAreaAlmostFull, ///<@brief One or more output area is almost full: e.g., tray, stacker, collator.
- EPrintReasonOutputAreaFull, ///<@brief One or more output area is full: e.g., tray, stacker, collator.
- EPrintReasonMarkerSupplyLow, ///<@brief The device is low on at least one marker supply: e.g., toner, ink, ribbon.
- EPrintReasonMarkerSupplyEmpty, ///<@brief The device is out of at least one marker supply: e.g., toner, ink, ribbon.
- EPrintReasonMarkerFailure, ///<@brief The device has at least one marking device which has failed and requires service or replacement: e.g., pen.
-
- // OBEX response codes
- EObexReserved, ///<@brief Reserved
- EObexContinue, ///<@brief Continue
- EObexOKSuccess, ///<@brief OK, Success
- EObexCreated, ///<@brief Created
- EObexAccepted, ///<@brief Accepted
- EObexNonAuthoritativeInformation, ///<@brief Non-Authoritative Information
- EObexNoContent, ///<@brief No Content
- EObexResetContent, ///<@brief Reset Content
- EObexPartialContent, ///<@brief Partial Content
- EObexMultipleChoices, ///<@brief Multiple Choices
- EObexMovedPermanently, ///<@brief Moved Permanently
- EObexMovedTemporarily, ///<@brief Moved Temporarily
- EObexSeeOther, ///<@brief See Other
- EObexNotModified, ///<@brief Not Modified
- EObexUseProxy, ///<@brief Use Proxy
- EObexBadRequest, ///<@brief Bad Request - server could not understand the request
- EObexUnauthorized, ///<@brief Unauthorized
- EObexPaymentRequired, ///<@brief Payment required
- EObexForbidden, ///<@brief Forbidden: operation is understood but refused
- EObexNotFound, ///<@brief Not found DPS: Object or File does not exist.
- EObexMethodNotAllowed, ///<@brief Method not allowed
- EObexNotAcceptable, ///<@brief Not acceptable
- EObexProxyAuthRequired, ///<@brief Proxy authentication is required
- EObexRequestTimedOut, ///<@brief Request timed out
- EObexConflict, ///<@brief Conflict
- EObexGone, ///<@brief Gone
- EObexLengthRequired, ///<@brief Length Required
- EObexPreconditionFailed, ///<@brief Precondition failed
- EObexRequestedEntityTooLarge, ///<@brief Requested entity is too large
- EObexRequestedURLTooLarge, ///<@brief Requested URL is too large
- EObexUnsupportedMediaType, ///<@brief Unsupported media type. Note: Refers to MIME media-type
- EObexInternalReceiverError, ///<@brief Internal receiver error
- EObexNotImplemented, ///<@brief Not implemented
- EObexBadGateway, ///<@brief Bad Gateway
- EObexServiceUnavailable, ///<@brief Service Unavailable
- EObexGatewayTimeout, ///<@brief Gateway Timeout
- EObexHTTPVersionNotSupported, ///<@brief HTTP protocol version is not supported
- EObexDatabaseFull, ///<@brief Database Full
- EObexDatabaseLocked, ///<@brief Database Locked
-
- EKErrIrObexRespTimedOut = -5572, // OBEX command timed out
-
-};
-
-enum TOperationStatusCodes
-{
- EOperationStatusOk = 0x0000, ///<@brief successful-ok
- EOperationStatusOkIgnoredOrSubstitutedAttributes = 0x0001, ///<@brief successful-ok-ignored-or-substituted-attributes
- EOperationStatusOkConflictingAttributes = 0x0002, ///<@brief successful-ok-conflicting-attributes
- EOperationStatusClientBadRequest = 0x0400, ///<@brief client-error-bad-request
- EOperationStatusClientForbidden = 0x0401, ///<@brief client-error-forbidden
- EOperationStatusClientNotAuthenticated = 0x0402, ///<@brief client-error-not-authenticated
- EOperationStatusClientNotAuthorized = 0x0403, ///<@brief client-error-not-authorized
- EOperationStatusClientNotPossible = 0x0404, ///<@brief client-error-not-possible
- EOperationStatusClientTimeout = 0x0405, ///<@brief client-error-timeout
- EOperationStatusClientNotFound = 0x0406, ///<@brief client-error-not-found
- EOperationStatusClientGone = 0x0407, ///<@brief client-error-gone
- EOperationStatusClientRequestEntityTooLarge = 0x0408, ///<@brief client-error-request-entity-too-large
- EOperationStatusClientRequestValueTooLong = 0x0409, ///<@brief client-error-request-value-too-long
- EOperationStatusClientDocumentFormatNotSupported = 0x040a, ///<@brief client-error-document-format-not-supported
- EOperationStatusClientAttributesOrValuesNotSupported = 0x040b, ///<@brief client-error-attributes-or-values-not-supported
- EOperationStatusClientUriSchemeNotSupported = 0x040c, ///<@brief client-error-uri-scheme-not-supported
- EOperationStatusClientCharsetNotSupported = 0x040d, ///<@brief client-error-charset-not-supported
- EOperationStatusClientConflictingAttributes = 0x040e, ///<@brief client-error-conflicting-attributes
- EOperationStatusClientCompressionNotSupported = 0x040f, ///<@brief client-error-compression-not-supported
- EOperationStatusClientCompression = 0x0410, ///<@brief client-error-compression-error
- EOperationStatusClientDocumentFormat = 0x0411, ///<@brief client-error-document-format-error
- EOperationStatusClientDocumentAccess = 0x0412, ///<@brief client-error-document-access-error
- EOperationStatusClientMediaNotLoaded = 0x0418, ///<@brief client-error-media-not-loaded
- EOperationStatusServerInternalError = 0x0500, ///<@brief server-error-internal-error
- EOperationStatusServerOperation = 0x0501, ///<@brief server-error-operation-not-supported
- EOperationStatusServerServiceUnavailable = 0x0502, ///<@brief server-error-service-unavailable
- EOperationStatusServerVersionNotSupported = 0x0503, ///<@brief server-error-version-not-supported
- EOperationStatusServerDeviceError = 0x0504, ///<@brief server-error-device-error
- EOperationStatusServerTemporaryError = 0x0505, ///<@brief server-error-temporary-error
- EOperationStatusServerNotAcceptingJobs = 0x0506, ///<@brief server-error-not-accepting-jobs
- EOperationStatusServerBusy = 0x0507, ///<@brief server-error-busy
- EOperationStatusServerJobCanceled = 0x0508, ///<@brief server-error-job-canceled
- EOperationStatusServerMultipleDocument = 0x0509 ///<@brief server-error-multiple-document-jobs-not-supported
-};
-
-#endif // PRINTMESSAGECODES_H
-
-// End of File
+/*
+* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Contains the TPrintErrorMessageCodes and TPrintMessageCodes enumerations.
+*
+*/
+
+
+#ifndef PRINTMESSAGECODES_H
+#define PRINTMESSAGECODES_H
+
+/// Global printing Error Message Codes.
+// All supported by UI
+enum TPrintErrorMessageCodes
+{
+ EObexConnectError = -3000,
+ EObexSendError = -3001,
+ EObexDisconnectError = -3002,
+ EObexGeneralError = -3003,
+};
+
+/// Global printing Message Codes.
+enum TPrintMessageCodes
+{
+ // No message
+ ENoMessage = 0,
+
+ // Print Progress Codes
+ EJobPending = 3100,
+ EPrinting = 3101,
+ ECopying = 3102,
+ ECancelling = 3103,
+ ECancellingNoMessage = 3104,
+
+ // Pict Bridge
+ EPbOutOfPaper = 3300, ///<@deprecated Use TPrintMessageCodes::EPbStatusErrorReasonPaperEmpty
+ EPbCheckPrinter = 3301,
+ EPbPrinterIsDisconnected = 3302,
+ EPbPrinterIsConnected = 3303,
+ EPbFileNotSupported = 3304,
+ EPbFileNotFound = 3305,
+
+ EPbStatusErrorReasonNoReason, /*3306*/ ///<@brief No reason
+ EPbStatusErrorReasonPaper, ///<@brief Paper-related error
+ EPbStatusErrorReasonInk, ///<@brief Ink-related error
+ EPbStatusErrorReasonHardware, ///<@brief Hardware-related error
+ EPbStatusErrorReasonFile, ///<@brief File-related error
+ EPbStatusErrorReasonPaperEmpty, /*3311*/ ///<@brief Paper is empty
+ EPbStatusErrorReasonPaperLoad, ///<@brief Load error - paper not loaded correctly
+ EPbStatusErrorReasonPaperEject, ///<@brief Eject error - paper not ejected correctly
+ EPbStatusErrorReasonPaperMedia, ///<@brief Media error - paper is not detected, paper skewed, roll paper connot be cut or torn-off
+ EPbStatusErrorReasonPaperJam, ///<@brief Paper jam
+ EPbStatusErrorReasonPaperNearlyEmpty, ///<@brief Paper nearly empty
+ EPbStatusErrorReasonPaperCombination, ///<@brief Paper type / paper size combination not supported, or paper found in printer does not match request
+ EPbStatusErrorReasonInkEmpty, /*18*/ ///<@brief Ink empty
+ EPbStatusErrorReasonInkLow, ///<@brief Ink low
+ EPbStatusErrorReasonInkWaste, ///<@brief Waste ink error (waste-ink reservior full).
+ EPbStatusErrorReasonHardwareFatal, /*21*/ ///<@brief Fatal error
+ EPbStatusErrorReasonWarning, // warning
+ EPbStatusErrorReasonHardwareServiceCall, ///<@brief Service call
+ EPbStatusErrorReasonHardwarePrinterUnavailable, ///<@brief Printer unavailable (performing maintenance or otherwise occupied)
+ EPbStatusErrorReasonHardwarePrinterBusy, ///<@brief Printer busy (processing a job from another source, e.g. a PC)
+ EPbStatusErrorReasonHardwareLever, ///<@brief Lever error (lever position not correct)
+ EPbStatusErrorReasonHardwareCoverOpen, ///<@brief Cover open
+ EPbStatusErrorReasonHardwareNoMarkingAgent, ///<@brief No marking agent (e.g. missing printer head)
+ EPbStatusErrorReasonHardwareInkCoverOpen, ///<@brief Ink cover open
+ EPbStatusErrorReasonHardwareNoInkCartridge, ///<@brief No ink cartridge
+ EPbStatusErrorReasonFilePrintInfo, /*31*/ ///<@brief printInfo error (specified <printInfo> is too large).
+ EPbStatusErrorReasonFileFileDecode, ///<@brief File decode error (picture format of specified image cannot be decoded).
+
+ // Printer status reasons
+ EPrintReasonAttentionRequired, /*33*/ ///<@brief Indicates reason other than those listed
+ EPrintReasonPaused, ///<@brief Someone has paused the printer and the PrinterState is "stopped". In this state, a Printer may not produce printed output.
+ EPrintReasonOutputAreaAlmostFull, ///<@brief One or more output area is almost full: e.g., tray, stacker, collator.
+ EPrintReasonOutputAreaFull, ///<@brief One or more output area is full: e.g., tray, stacker, collator.
+ EPrintReasonMarkerSupplyLow, ///<@brief The device is low on at least one marker supply: e.g., toner, ink, ribbon.
+ EPrintReasonMarkerSupplyEmpty, ///<@brief The device is out of at least one marker supply: e.g., toner, ink, ribbon.
+ EPrintReasonMarkerFailure, ///<@brief The device has at least one marking device which has failed and requires service or replacement: e.g., pen.
+
+ // OBEX response codes
+ EObexReserved, ///<@brief Reserved
+ EObexContinue, ///<@brief Continue
+ EObexOKSuccess, ///<@brief OK, Success
+ EObexCreated, ///<@brief Created
+ EObexAccepted, ///<@brief Accepted
+ EObexNonAuthoritativeInformation, ///<@brief Non-Authoritative Information
+ EObexNoContent, ///<@brief No Content
+ EObexResetContent, ///<@brief Reset Content
+ EObexPartialContent, ///<@brief Partial Content
+ EObexMultipleChoices, ///<@brief Multiple Choices
+ EObexMovedPermanently, ///<@brief Moved Permanently
+ EObexMovedTemporarily, ///<@brief Moved Temporarily
+ EObexSeeOther, ///<@brief See Other
+ EObexNotModified, ///<@brief Not Modified
+ EObexUseProxy, ///<@brief Use Proxy
+ EObexBadRequest, ///<@brief Bad Request - server could not understand the request
+ EObexUnauthorized, ///<@brief Unauthorized
+ EObexPaymentRequired, ///<@brief Payment required
+ EObexForbidden, ///<@brief Forbidden: operation is understood but refused
+ EObexNotFound, ///<@brief Not found DPS: Object or File does not exist.
+ EObexMethodNotAllowed, ///<@brief Method not allowed
+ EObexNotAcceptable, ///<@brief Not acceptable
+ EObexProxyAuthRequired, ///<@brief Proxy authentication is required
+ EObexRequestTimedOut, ///<@brief Request timed out
+ EObexConflict, ///<@brief Conflict
+ EObexGone, ///<@brief Gone
+ EObexLengthRequired, ///<@brief Length Required
+ EObexPreconditionFailed, ///<@brief Precondition failed
+ EObexRequestedEntityTooLarge, ///<@brief Requested entity is too large
+ EObexRequestedURLTooLarge, ///<@brief Requested URL is too large
+ EObexUnsupportedMediaType, ///<@brief Unsupported media type. Note: Refers to MIME media-type
+ EObexInternalReceiverError, ///<@brief Internal receiver error
+ EObexNotImplemented, ///<@brief Not implemented
+ EObexBadGateway, ///<@brief Bad Gateway
+ EObexServiceUnavailable, ///<@brief Service Unavailable
+ EObexGatewayTimeout, ///<@brief Gateway Timeout
+ EObexHTTPVersionNotSupported, ///<@brief HTTP protocol version is not supported
+ EObexDatabaseFull, ///<@brief Database Full
+ EObexDatabaseLocked, ///<@brief Database Locked
+
+ EKErrIrObexRespTimedOut = -5572, // OBEX command timed out
+
+};
+
+enum TOperationStatusCodes
+{
+ EOperationStatusOk = 0x0000, ///<@brief successful-ok
+ EOperationStatusOkIgnoredOrSubstitutedAttributes = 0x0001, ///<@brief successful-ok-ignored-or-substituted-attributes
+ EOperationStatusOkConflictingAttributes = 0x0002, ///<@brief successful-ok-conflicting-attributes
+ EOperationStatusClientBadRequest = 0x0400, ///<@brief client-error-bad-request
+ EOperationStatusClientForbidden = 0x0401, ///<@brief client-error-forbidden
+ EOperationStatusClientNotAuthenticated = 0x0402, ///<@brief client-error-not-authenticated
+ EOperationStatusClientNotAuthorized = 0x0403, ///<@brief client-error-not-authorized
+ EOperationStatusClientNotPossible = 0x0404, ///<@brief client-error-not-possible
+ EOperationStatusClientTimeout = 0x0405, ///<@brief client-error-timeout
+ EOperationStatusClientNotFound = 0x0406, ///<@brief client-error-not-found
+ EOperationStatusClientGone = 0x0407, ///<@brief client-error-gone
+ EOperationStatusClientRequestEntityTooLarge = 0x0408, ///<@brief client-error-request-entity-too-large
+ EOperationStatusClientRequestValueTooLong = 0x0409, ///<@brief client-error-request-value-too-long
+ EOperationStatusClientDocumentFormatNotSupported = 0x040a, ///<@brief client-error-document-format-not-supported
+ EOperationStatusClientAttributesOrValuesNotSupported = 0x040b, ///<@brief client-error-attributes-or-values-not-supported
+ EOperationStatusClientUriSchemeNotSupported = 0x040c, ///<@brief client-error-uri-scheme-not-supported
+ EOperationStatusClientCharsetNotSupported = 0x040d, ///<@brief client-error-charset-not-supported
+ EOperationStatusClientConflictingAttributes = 0x040e, ///<@brief client-error-conflicting-attributes
+ EOperationStatusClientCompressionNotSupported = 0x040f, ///<@brief client-error-compression-not-supported
+ EOperationStatusClientCompression = 0x0410, ///<@brief client-error-compression-error
+ EOperationStatusClientDocumentFormat = 0x0411, ///<@brief client-error-document-format-error
+ EOperationStatusClientDocumentAccess = 0x0412, ///<@brief client-error-document-access-error
+ EOperationStatusClientMediaNotLoaded = 0x0418, ///<@brief client-error-media-not-loaded
+ EOperationStatusServerInternalError = 0x0500, ///<@brief server-error-internal-error
+ EOperationStatusServerOperation = 0x0501, ///<@brief server-error-operation-not-supported
+ EOperationStatusServerServiceUnavailable = 0x0502, ///<@brief server-error-service-unavailable
+ EOperationStatusServerVersionNotSupported = 0x0503, ///<@brief server-error-version-not-supported
+ EOperationStatusServerDeviceError = 0x0504, ///<@brief server-error-device-error
+ EOperationStatusServerTemporaryError = 0x0505, ///<@brief server-error-temporary-error
+ EOperationStatusServerNotAcceptingJobs = 0x0506, ///<@brief server-error-not-accepting-jobs
+ EOperationStatusServerBusy = 0x0507, ///<@brief server-error-busy
+ EOperationStatusServerJobCanceled = 0x0508, ///<@brief server-error-job-canceled
+ EOperationStatusServerMultipleDocument = 0x0509 ///<@brief server-error-multiple-document-jobs-not-supported
+};
+
+#endif // PRINTMESSAGECODES_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/tdiscoveryguarddata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/tdiscoveryguarddata.h Tue May 11 14:10:02 2010 +0800
@@ -1,49 +1,49 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-#ifndef TDISCOVERYGUARDDATA_H
-#define TDISCOVERYGUARDDATA_H
-
-#include <e32def.h>
-
-#include "tprinter.h"
-
-class TDiscoveryGuardData
- {
- public:
-
- enum TCallbackNum
- {
- EFoundCb = 0,
- EStatusCb,
- ERemoveCb
- };
-
- public:
-
- TPrinter iPrinterInfo;
- TInt iStatus;
- TInt iErrorCode;
- TInt iErrorStringCode;
- TCallbackNum iCb;
- };
-
-#endif // TDISCOVERYGUARDDATA_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef TDISCOVERYGUARDDATA_H
+#define TDISCOVERYGUARDDATA_H
+
+#include <e32def.h>
+
+#include "tprinter.h"
+
+class TDiscoveryGuardData
+ {
+ public:
+
+ enum TCallbackNum
+ {
+ EFoundCb = 0,
+ EStatusCb,
+ ERemoveCb
+ };
+
+ public:
+
+ TPrinter iPrinterInfo;
+ TInt iStatus;
+ TInt iErrorCode;
+ TInt iErrorStringCode;
+ TCallbackNum iCb;
+ };
+
+#endif // TDISCOVERYGUARDDATA_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/tidleevent.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/tidleevent.h Tue May 11 14:10:02 2010 +0800
@@ -1,81 +1,81 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Contains the types necesary for MIdleObserver TPrinter class definition.
-*
-*/
-
-
-#ifndef IDLEEVENT_H
-#define IDLEEVENT_H
-
-/** The severity associated of the notification.
- */
-enum TSeverity
- {
- ///The event doesn't have a specific severity. Used in cases where severity is irrelevant, unknown or can be ignored.
- ENotSpecified,
- ///The event does not cause an error
- ENoError,
- ///The event was caused by a warning. Generally this is recoverable.
- EWarning,
- ///The event was caused by a fatal error. Generally this is not recoverable
- EFatal,
- ///The event was caused by a severe error. Generally this is a async leave
- ESevere
- };
-
-/** The type of event the observer is being notified of. The types of events being raised vary by protocol
- */
-enum TEventType
- {
- ///The protocol has made a connection to the printer, device or transport
- EConnect,
- ///The protocol has been disconnected from the printer, device or transport
- EDisconnect,
- ///The protocol can be disconnected
- EDisconnectReady,
- ///The protocol cannot be disconnected
- EDisconnectNotReady,
- ///The device or printer is ready to accept print jobs
- EPrintReady,
- ///The device or printer is not ready to accept print jobs
- EPrintNotReady,
- ///The event is notifying a change in the device status, or is reporting an error sent from the device
- EPrinterStatus,
- ///The event is notifying that the capabilities that the printer supports have changed
- EPrinterCapabilityChanged,
- ///The event is notifying that asynchronous leave has happened
- EAsynchronousLeave
- };
-
-/** The event object. This object provides information about the event.
- */
-class TEvent
- {
- public:
- /** The protocol that is sending the notification
- * @sa KImagePrint_PrinterProtocol_BPP @sa KImagePrint_PrinterProtocol_BIP @sa KImagePrint_PrinterProtocol_OPP
- * @sa KImagePrint_PrinterProtocol_DPOF @sa KImagePrint_PrinterProtocol_PictBridge
- */
- TInt iProtocol;
- ///The associated severity of the event
- TSeverity iSeverity;
- ///What kind of event is being sent
- TEventType iEventType;
- };
-
-
-#endif // IDLEEVENT_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Contains the types necesary for MIdleObserver TPrinter class definition.
+*
+*/
+
+
+#ifndef IDLEEVENT_H
+#define IDLEEVENT_H
+
+/** The severity associated of the notification.
+ */
+enum TSeverity
+ {
+ ///The event doesn't have a specific severity. Used in cases where severity is irrelevant, unknown or can be ignored.
+ ENotSpecified,
+ ///The event does not cause an error
+ ENoError,
+ ///The event was caused by a warning. Generally this is recoverable.
+ EWarning,
+ ///The event was caused by a fatal error. Generally this is not recoverable
+ EFatal,
+ ///The event was caused by a severe error. Generally this is a async leave
+ ESevere
+ };
+
+/** The type of event the observer is being notified of. The types of events being raised vary by protocol
+ */
+enum TEventType
+ {
+ ///The protocol has made a connection to the printer, device or transport
+ EConnect,
+ ///The protocol has been disconnected from the printer, device or transport
+ EDisconnect,
+ ///The protocol can be disconnected
+ EDisconnectReady,
+ ///The protocol cannot be disconnected
+ EDisconnectNotReady,
+ ///The device or printer is ready to accept print jobs
+ EPrintReady,
+ ///The device or printer is not ready to accept print jobs
+ EPrintNotReady,
+ ///The event is notifying a change in the device status, or is reporting an error sent from the device
+ EPrinterStatus,
+ ///The event is notifying that the capabilities that the printer supports have changed
+ EPrinterCapabilityChanged,
+ ///The event is notifying that asynchronous leave has happened
+ EAsynchronousLeave
+ };
+
+/** The event object. This object provides information about the event.
+ */
+class TEvent
+ {
+ public:
+ /** The protocol that is sending the notification
+ * @sa KImagePrint_PrinterProtocol_BPP @sa KImagePrint_PrinterProtocol_BIP @sa KImagePrint_PrinterProtocol_OPP
+ * @sa KImagePrint_PrinterProtocol_DPOF @sa KImagePrint_PrinterProtocol_PictBridge
+ */
+ TInt iProtocol;
+ ///The associated severity of the event
+ TSeverity iSeverity;
+ ///What kind of event is being sent
+ TEventType iEventType;
+ };
+
+
+#endif // IDLEEVENT_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/tidleguarddata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/tidleguarddata.h Tue May 11 14:10:02 2010 +0800
@@ -1,37 +1,37 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef TIDLEGUARDDATA_H
-#define TIDLEGUARDDATA_H
-
-#include <e32def.h>
-
-#include "tidleevent.h"
-
-class TIdleGuardData
- {
- public:
-
- TEvent iEvent;
- TInt iError;
- TInt iMsgCode;
- };
-
-#endif // TIDLEGUARDDATA_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef TIDLEGUARDDATA_H
+#define TIDLEGUARDDATA_H
+
+#include <e32def.h>
+
+#include "tidleevent.h"
+
+class TIdleGuardData
+ {
+ public:
+
+ TEvent iEvent;
+ TInt iError;
+ TInt iMsgCode;
+ };
+
+#endif // TIDLEGUARDDATA_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/tjobguarddata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/tjobguarddata.h Tue May 11 14:10:02 2010 +0800
@@ -1,49 +1,49 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef TJOBGUARDDATA_H
-#define TJOBGUARDDATA_H
-
-#include <e32def.h>
-
-class TJobGuardData
- {
- public:
-
- enum TCallbackNum
- {
- EProgressEventCb = 0,
- EErrorEventCb,
- EStatusEventCb,
- EImageEventCb
- };
-
- public:
-
- TInt iStatus;
- TInt iPercentCompletion;
- TInt iJobStateCode;
- TInt iError;
- TInt iErrorStringCode;
- TInt iFsBitmapHandle;
- TCallbackNum iCb;
- };
-
-#endif // TJOBGUARDDATA_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef TJOBGUARDDATA_H
+#define TJOBGUARDDATA_H
+
+#include <e32def.h>
+
+class TJobGuardData
+ {
+ public:
+
+ enum TCallbackNum
+ {
+ EProgressEventCb = 0,
+ EErrorEventCb,
+ EStatusEventCb,
+ EImageEventCb
+ };
+
+ public:
+
+ TInt iStatus;
+ TInt iPercentCompletion;
+ TInt iJobStateCode;
+ TInt iError;
+ TInt iErrorStringCode;
+ TInt iFsBitmapHandle;
+ TCallbackNum iCb;
+ };
+
+#endif // TJOBGUARDDATA_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/tmessagewrp2.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/tmessagewrp2.h Tue May 11 14:10:02 2010 +0800
@@ -1,136 +1,136 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef TMESSAGEWRP2_H
-#define TMESSAGEWRP2_H
-
-#include <e32base.h>
-
-class TMessageWrp2
- {
- public:
-
- /**
- * Message wrapper constructor
- *
- * @param aMessage message to be wrapped
- * @param aConnected session connection flag
- */
- TMessageWrp2( const RMessage2& aMessage, const TBool& aConnected );
-
- public:
-
- /**
- * If session connected, write descriptor to the wrapped message
- *
- * @param aParam message parameter id
- * @param aDes descriptor
- * @param aOffset offset from the start of the client's descriptor
- */
- void WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset=0) const;
-
- /**
- * If session connected, complete the wrapped message
- *
- * @param aReason completion code
- */
- void Complete(TInt aReason) const;
-
- /**
- * If session connected, gets the 1st message argument as an integer value
- *
- * @return 1st message argument as an integer value
- */
- TInt Int0() const;
-
- /**
- * If session connected, gets the 2nd message argument as an integer value
- *
- * @return 2nd message argument as an integer value
- */
- TInt Int1() const;
-
- /**
- * If session connected, gets the length of a descriptor argument
- * in the client's process
- *
- * @param aParam index value identifying the argument
- * @return the length of the descriptor or error code
- */
- TInt GetDesLength(TInt aParam) const;
-
- /**
- * If session connected, read data from the specified offset within
- * the 8-bit descriptor argument, into the specified target descriptor
- *
- * @param aParam message parameter id
- * @param aDes target descriptor
- * @param aOffset offset from the start of the client's descriptor
- */
- void ReadL(TInt aParam, TDes8 &aDes, TInt aOffset=0) const;
-
- /**
- * If session connected, read data from the specified offset within
- * the 16-bit descriptor argument, into the specified target descriptor
- *
- * @param aParam message parameter id
- * @param aDes target descriptor
- * @param aOffset offset from the start of the client's descriptor
- */
- void ReadL(TInt aParam, TDes16 &aDes, TInt aOffset=0) const;
-
- /**
- * Panic the client thread
- *
- * @param aCategory category descriptor
- * @param aReason reason id
- */
- void Panic(const TDesC &aCategory, TInt aReason) const;
-
- /**
- * Gets the the number of the function requested by the client
- *
- * @return the function number
- */
- TInt Function() const;
-
- /**
- * Sets the disposable state. Disposable means that the message needs not
- * to be preserved
- *
- * @param aDisposable disposable flag
- */
- void SetDisposable( TBool aDisposable );
-
- /**
- * Gets the disposable state
- *
- * @return the disposable flag
- */
- TBool Disposable() const;
-
- private: // data
- RMessage2 iMessage;
- const TBool& iConnected;
- TBool iDisposable;
- };
-
-
-#endif // TMESSAGEWRP2_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef TMESSAGEWRP2_H
+#define TMESSAGEWRP2_H
+
+#include <e32base.h>
+
+class TMessageWrp2
+ {
+ public:
+
+ /**
+ * Message wrapper constructor
+ *
+ * @param aMessage message to be wrapped
+ * @param aConnected session connection flag
+ */
+ TMessageWrp2( const RMessage2& aMessage, const TBool& aConnected );
+
+ public:
+
+ /**
+ * If session connected, write descriptor to the wrapped message
+ *
+ * @param aParam message parameter id
+ * @param aDes descriptor
+ * @param aOffset offset from the start of the client's descriptor
+ */
+ void WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset=0) const;
+
+ /**
+ * If session connected, complete the wrapped message
+ *
+ * @param aReason completion code
+ */
+ void Complete(TInt aReason) const;
+
+ /**
+ * If session connected, gets the 1st message argument as an integer value
+ *
+ * @return 1st message argument as an integer value
+ */
+ TInt Int0() const;
+
+ /**
+ * If session connected, gets the 2nd message argument as an integer value
+ *
+ * @return 2nd message argument as an integer value
+ */
+ TInt Int1() const;
+
+ /**
+ * If session connected, gets the length of a descriptor argument
+ * in the client's process
+ *
+ * @param aParam index value identifying the argument
+ * @return the length of the descriptor or error code
+ */
+ TInt GetDesLength(TInt aParam) const;
+
+ /**
+ * If session connected, read data from the specified offset within
+ * the 8-bit descriptor argument, into the specified target descriptor
+ *
+ * @param aParam message parameter id
+ * @param aDes target descriptor
+ * @param aOffset offset from the start of the client's descriptor
+ */
+ void ReadL(TInt aParam, TDes8 &aDes, TInt aOffset=0) const;
+
+ /**
+ * If session connected, read data from the specified offset within
+ * the 16-bit descriptor argument, into the specified target descriptor
+ *
+ * @param aParam message parameter id
+ * @param aDes target descriptor
+ * @param aOffset offset from the start of the client's descriptor
+ */
+ void ReadL(TInt aParam, TDes16 &aDes, TInt aOffset=0) const;
+
+ /**
+ * Panic the client thread
+ *
+ * @param aCategory category descriptor
+ * @param aReason reason id
+ */
+ void Panic(const TDesC &aCategory, TInt aReason) const;
+
+ /**
+ * Gets the the number of the function requested by the client
+ *
+ * @return the function number
+ */
+ TInt Function() const;
+
+ /**
+ * Sets the disposable state. Disposable means that the message needs not
+ * to be preserved
+ *
+ * @param aDisposable disposable flag
+ */
+ void SetDisposable( TBool aDisposable );
+
+ /**
+ * Gets the disposable state
+ *
+ * @return the disposable flag
+ */
+ TBool Disposable() const;
+
+ private: // data
+ RMessage2 iMessage;
+ const TBool& iConnected;
+ TBool iDisposable;
+ };
+
+
+#endif // TMESSAGEWRP2_H
+
+// End of File
--- a/DirectPrint/ImagePrintLibrary/inc/tprinter.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/ImagePrintLibrary/inc/tprinter.h Tue May 11 14:10:02 2010 +0800
@@ -1,52 +1,52 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Contains the TPrinter class definition.
-*
-*/
-
-
-#ifndef TPRINTER_H
-#define TPRINTER_H
-
-#include <e32base.h>
-
-/**
- * @brief A printer abstraction.
- *
- * Class representing the basic properties of a printing device.
- * Published as part of the ImagePrint Server API.
- */
-class TPrinter
- {
- public:
- enum TPrinterProperty
- {
- Cached = 1,
- SupportsPreview = 2
- };
- enum TPrinterVendor
- {
- EVendorNone = 0 // No Vendor
- // Add other vendors
- };
- TInt iPrinterID;
- TBuf<84> iDisplayName;
- TUint iProperties;
- TUint iProtocol;
- TUint iVendor;
- };
-
-#endif // TPRINTER_H
-
-// End of File
+/*
+* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Contains the TPrinter class definition.
+*
+*/
+
+
+#ifndef TPRINTER_H
+#define TPRINTER_H
+
+#include <e32base.h>
+
+/**
+ * @brief A printer abstraction.
+ *
+ * Class representing the basic properties of a printing device.
+ * Published as part of the ImagePrint Server API.
+ */
+class TPrinter
+ {
+ public:
+ enum TPrinterProperty
+ {
+ Cached = 1,
+ SupportsPreview = 2
+ };
+ enum TPrinterVendor
+ {
+ EVendorNone = 0 // No Vendor
+ // Add other vendors
+ };
+ TInt iPrinterID;
+ TBuf<84> iDisplayName;
+ TUint iProperties;
+ TUint iProtocol;
+ TUint iVendor;
+ };
+
+#endif // TPRINTER_H
+
+// End of File
--- a/DirectPrint/group/bld.inf Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/group/bld.inf Tue May 11 14:10:02 2010 +0800
@@ -1,30 +1,30 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../directprintclient/group/bld.inf"
-#include "../directprintserver/group/bld.inf"
-
-#include "../directprintapp/group/bld.inf"
-
-PRJ_PLATFORMS
-WINSCW ARMV5 GCCE
-PRJ_EXPORTS
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+#include "../directprintclient/group/bld.inf"
+#include "../directprintserver/group/bld.inf"
+
+#include "../directprintapp/group/bld.inf"
+
+PRJ_PLATFORMS
+WINSCW ARMV5 GCCE
+PRJ_EXPORTS
+
+// End of File
--- a/DirectPrint/inc/aiwprintproperty.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/aiwprintproperty.h Tue May 11 14:10:02 2010 +0800
@@ -1,35 +1,35 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// Protection against nested includes
-#ifndef __AIWPRINTPROPERTY_H__
-#define __AIWPRINTPROPERTY_H__
-
-const TUid KPrintPropertyCat = {0x10012345};
-enum TPrintPropertyKeys
- {
- EPrintProperty,
- };
-
-enum
- {
- ENotAiwCall,
- EAiwPrintCall,
- EAiwQuickPrintCall
- };
-
-#endif // __AIWPRINTPROPERTY_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// Protection against nested includes
+#ifndef __AIWPRINTPROPERTY_H__
+#define __AIWPRINTPROPERTY_H__
+
+const TUid KPrintPropertyCat = {0x10012345};
+enum TPrintPropertyKeys
+ {
+ EPrintProperty,
+ };
+
+enum
+ {
+ ENotAiwCall,
+ EAiwPrintCall,
+ EAiwQuickPrintCall
+ };
+
+#endif // __AIWPRINTPROPERTY_H__
--- a/DirectPrint/inc/clog.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/clog.h Tue May 11 14:10:02 2010 +0800
@@ -1,64 +1,64 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef __CLOG_H__
-#define __CLOG_H__
-
-// System includes
-#include <e32base.h>
-#include <e32std.h>
-
-#include "logdef.h"
-
-#ifdef ENABLE_LOGGING
-#define LOG(s) Log::DoLog(_L(s))
-#define LOG1(s, v) Log::DoLog( _L(s), v )
-#define LOG2(s, v1, v2) Log::DoLog( _L(s), v1, v2 )
-#define LOG3(s, v1, v2, v3) Log::DoLog( _L(s), v1, v2, v3 )
-
-#define LOG8(s) Log::DoLog8(_L8(s))
-#define LOG81(s, v) Log::DoLog8( _L8(s), v )
-#define LOG82(s, v1, v2) Log::DoLog8( _L8(s), v1, v2 )
-#define LOG83(s, v1, v2, v3) Log::DoLog8( _L8(s), v1, v2, v3 )
-
-#else
-#define LOG(s)
-#define LOG1(s, v)
-#define LOG2(s, v1, v2)
-#define LOG3(s, v1, v2, v3)
-
-#define LOG8(s)
-#define LOG81(s, v)
-#define LOG82(s, v1, v2)
-#define LOG83(s, v1, v2, v3)
-#endif // ENABLE_LOGGING
-
-class Log
- {
-
- public:
-
- static void DoLog( TRefByValue<const TDesC> aText, ... );
-
- static void DoLog8( TRefByValue<const TDesC8> aText, ... );
- };
-
-#endif // __CLOG_H__
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef __CLOG_H__
+#define __CLOG_H__
+
+// System includes
+#include <e32base.h>
+#include <e32std.h>
+
+#include "logdef.h"
+
+#ifdef ENABLE_LOGGING
+#define LOG(s) Log::DoLog(_L(s))
+#define LOG1(s, v) Log::DoLog( _L(s), v )
+#define LOG2(s, v1, v2) Log::DoLog( _L(s), v1, v2 )
+#define LOG3(s, v1, v2, v3) Log::DoLog( _L(s), v1, v2, v3 )
+
+#define LOG8(s) Log::DoLog8(_L8(s))
+#define LOG81(s, v) Log::DoLog8( _L8(s), v )
+#define LOG82(s, v1, v2) Log::DoLog8( _L8(s), v1, v2 )
+#define LOG83(s, v1, v2, v3) Log::DoLog8( _L8(s), v1, v2, v3 )
+
+#else
+#define LOG(s)
+#define LOG1(s, v)
+#define LOG2(s, v1, v2)
+#define LOG3(s, v1, v2, v3)
+
+#define LOG8(s)
+#define LOG81(s, v)
+#define LOG82(s, v1, v2)
+#define LOG83(s, v1, v2, v3)
+#endif // ENABLE_LOGGING
+
+class Log
+ {
+
+ public:
+
+ static void DoLog( TRefByValue<const TDesC> aText, ... );
+
+ static void DoLog8( TRefByValue<const TDesC8> aText, ... );
+ };
+
+#endif // __CLOG_H__
+
+// End of File
--- a/DirectPrint/inc/directprintband.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintband.h Tue May 11 14:10:02 2010 +0800
@@ -1,91 +1,91 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* Test print band ECOM plugin
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTBAND_H
-#define DIRECTPRINTBAND_H
-
-// System includes
-#include <e32std.h>
-#include <e32base.h>
-#include <gdi.h>
-#include <ecom/ecom.h>
-
-// Forward declarations
-class CDirectPrintBand;
-class CPrintSetup;
-class RXmlEngDocument;
-class MPageRegionPrinter;
-
-// CLASS DECLARATION
-
-/**
- * CDirectPrintBand
- *
- */
-class CDirectPrintBand : public CBase
- {
-public:
- inline static CDirectPrintBand* NewL(TUid aImplementationUid);
- virtual ~CDirectPrintBand();
-
- /**
- * Initialize the print band
- *
- * @param aPrintSetup Pointer to the CPrintSetup
- * @param aParam Xml parameter object
- * @param aFileName Sets the file name if define the file name to xml,
- * Not set if not define the file name to xml
- */
- virtual void InitPrintBandL(CPrintSetup* aPrintSetup,
- RXmlEngDocument* aParam,
- const TDesC& aFileName) = 0;
-
- /**
- * Return the print band object
- *
- * @return MPageRegionPrinter* Pointer to the print band object
- */
- virtual MPageRegionPrinter* RegionPrinter() = 0;
-
- /**
- * Return the total page number
- *
- * @return TInt the total page number
- */
- virtual TInt PageNum() = 0;
-
-public:
- TUid iDtorIdKey;
- };
-
-inline CDirectPrintBand* CDirectPrintBand::NewL(TUid aImplementationUid)
- { // static
- TAny* any = REComSession::CreateImplementationL(aImplementationUid,
- _FOFF(CDirectPrintBand, iDtorIdKey));
- CDirectPrintBand* plugin = reinterpret_cast<CDirectPrintBand*>(any);
- return plugin;
- }
-
-inline CDirectPrintBand::~CDirectPrintBand()
- {
- REComSession::DestroyedImplementation(iDtorIdKey);
- }
-
-#endif // DIRECTPRINTBAND_H
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Test print band ECOM plugin
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTBAND_H
+#define DIRECTPRINTBAND_H
+
+// System includes
+#include <e32std.h>
+#include <e32base.h>
+#include <gdi.h>
+#include <ecom/ecom.h>
+
+// Forward declarations
+class CDirectPrintBand;
+class CPrintSetup;
+class RXmlEngDocument;
+class MPageRegionPrinter;
+
+// CLASS DECLARATION
+
+/**
+ * CDirectPrintBand
+ *
+ */
+class CDirectPrintBand : public CBase
+ {
+public:
+ inline static CDirectPrintBand* NewL(TUid aImplementationUid);
+ virtual ~CDirectPrintBand();
+
+ /**
+ * Initialize the print band
+ *
+ * @param aPrintSetup Pointer to the CPrintSetup
+ * @param aParam Xml parameter object
+ * @param aFileName Sets the file name if define the file name to xml,
+ * Not set if not define the file name to xml
+ */
+ virtual void InitPrintBandL(CPrintSetup* aPrintSetup,
+ RXmlEngDocument* aParam,
+ const TDesC& aFileName) = 0;
+
+ /**
+ * Return the print band object
+ *
+ * @return MPageRegionPrinter* Pointer to the print band object
+ */
+ virtual MPageRegionPrinter* RegionPrinter() = 0;
+
+ /**
+ * Return the total page number
+ *
+ * @return TInt the total page number
+ */
+ virtual TInt PageNum() = 0;
+
+public:
+ TUid iDtorIdKey;
+ };
+
+inline CDirectPrintBand* CDirectPrintBand::NewL(TUid aImplementationUid)
+ { // static
+ TAny* any = REComSession::CreateImplementationL(aImplementationUid,
+ _FOFF(CDirectPrintBand, iDtorIdKey));
+ CDirectPrintBand* plugin = reinterpret_cast<CDirectPrintBand*>(any);
+ return plugin;
+ }
+
+inline CDirectPrintBand::~CDirectPrintBand()
+ {
+ REComSession::DestroyedImplementation(iDtorIdKey);
+ }
+
+#endif // DIRECTPRINTBAND_H
+// End of file
--- a/DirectPrint/inc/directprintbanduid.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintbanduid.h Tue May 11 14:10:02 2010 +0800
@@ -1,29 +1,29 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* Test print band ECOM plugin
-*
-*/
-
-// Protection against nested includes
-#ifndef DIRECTPRINTBANDUID_H
-#define DIRECTPRINTBANDUID_H
-
-// The UIDs are defined for Direct Print band plugin
-
-// Interface Uid for print band plugin
-#define KDirectPrintBandInterfaceUid 0x2002BB30
-
-#endif // DIRECTPRINTBANDUID_H
-// End of file
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Test print band ECOM plugin
+*
+*/
+
+// Protection against nested includes
+#ifndef DIRECTPRINTBANDUID_H
+#define DIRECTPRINTBANDUID_H
+
+// The UIDs are defined for Direct Print band plugin
+
+// Interface Uid for print band plugin
+#define KDirectPrintBandInterfaceUid 0x2002BB30
+
+#endif // DIRECTPRINTBANDUID_H
+// End of file
--- a/DirectPrint/inc/directprintcapability.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintcapability.h Tue May 11 14:10:02 2010 +0800
@@ -1,57 +1,57 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the TDirectPrintCapability class definition.
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTCAPABILITY_H
-#define DIRECTPRINTCAPABILITY_H
-
-// System includes
-#include <e32base.h>
-
-/**
- * @brief A printer capability abstraction.
- *
- * Class describing a capability (i.e. paper sizes or layouts) supported by a printing device.
- * Published as part of the ImagePrint Server API.
- */
-
-#define KMaxEnumAmount 20
-
-class TDirectPrintCapability
- {
- public:
- enum ECapType
- {
- Int = 0,
- Enum = 1,
- Float = 2,
- Text = 3
- };
-
- TInt iCapabilityID;
- ECapType iType;
- TInt iDefaultValue;
- TInt iLow;
- TInt iHigh;
- TInt iEnumCount;
- TInt iEnumCodes[KMaxEnumAmount];
- };
-
-#endif // DIRECTPRINTCAPABILITY_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the TDirectPrintCapability class definition.
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTCAPABILITY_H
+#define DIRECTPRINTCAPABILITY_H
+
+// System includes
+#include <e32base.h>
+
+/**
+ * @brief A printer capability abstraction.
+ *
+ * Class describing a capability (i.e. paper sizes or layouts) supported by a printing device.
+ * Published as part of the ImagePrint Server API.
+ */
+
+#define KMaxEnumAmount 20
+
+class TDirectPrintCapability
+ {
+ public:
+ enum ECapType
+ {
+ Int = 0,
+ Enum = 1,
+ Float = 2,
+ Text = 3
+ };
+
+ TInt iCapabilityID;
+ ECapType iType;
+ TInt iDefaultValue;
+ TInt iLow;
+ TInt iHigh;
+ TInt iEnumCount;
+ TInt iEnumCodes[KMaxEnumAmount];
+ };
+
+#endif // DIRECTPRINTCAPABILITY_H
+
+// End of File
--- a/DirectPrint/inc/directprintcapabilitycodes.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintcapabilitycodes.h Tue May 11 14:10:02 2010 +0800
@@ -1,71 +1,71 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description: Contains the TPrintCapabilityCodes and TPrintCapabilityOptions enumerations.
-*
-*/
-
-
-// Protection against nested includes
-#ifndef PRINTCAPABILITYCODES_H
-#define PRINTCAPABILITYCODES_H
-
-/// All the printer capabilities
-enum TPrintCapabilityCodes
- {
- EDirectPrintCapabLayout = 500,
- EDirectPrintCapabPaperSize = 501,
- EDirectPrintCapabQuality = 502,
- EDirectPrintCapabAP = 600,
- EDirectPrintCapabHost = 601,
- EDirectPrintCapabPort = 602,
- EDirectPrintCapabUser = 603,
- EDirectPrintCapabQue = 604,
- EDirectPrintCapabExtent = 901,
- EDirectPrintCapabExtent2 = 902
- };
-
-/// Print capability generic options
-enum TPrintCapabilityOptions
- {
- // Generic
- EDirectPrintCapabYes = 1000,
- EDirectPrintCapabNo = 1001,
- EDirectPrintCapabOn = 1002,
- EDirectPrintCapabOff = 1003,
-
- // Quality
- EDirectPrintCapabQualityDefault = 1100,
- EDirectPrintCapabQualityNormal = 1101,
- EDirectPrintCapabQualityDraft = 1102,
- EDirectPrintCapabQualityFine = 1103,
-
- // Paper size
- EDirectPrintCapabPaperSizeAuto = 1200,
- EDirectPrintCapabPaperSizeLetter = 1201,
- EDirectPrintCapabPaperSizeA4 = 1221,
- EDirectPrintCapabPaperSizeA6 = 1222,
- EDirectPrintCapabPaperSize4x6 = 1250,
- EDirectPrintCapabPaperSize5x7 = 1251,
- EDirectPrintCapabPaperSizeSticker = 1270,
-
- // Extent
- EDirectPrintCapabExtentSelect1 = 9001,
- EDirectPrintCapabExtentSelect2 = 9002,
- EDirectPrintCapabExtentSelect3 = 9003,
- EDirectPrintCapabExtentSelect4 = 9004
- };
-
-#endif // PRINTCAPABILITYCODES_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description: Contains the TPrintCapabilityCodes and TPrintCapabilityOptions enumerations.
+*
+*/
+
+
+// Protection against nested includes
+#ifndef PRINTCAPABILITYCODES_H
+#define PRINTCAPABILITYCODES_H
+
+/// All the printer capabilities
+enum TPrintCapabilityCodes
+ {
+ EDirectPrintCapabLayout = 500,
+ EDirectPrintCapabPaperSize = 501,
+ EDirectPrintCapabQuality = 502,
+ EDirectPrintCapabAP = 600,
+ EDirectPrintCapabHost = 601,
+ EDirectPrintCapabPort = 602,
+ EDirectPrintCapabUser = 603,
+ EDirectPrintCapabQue = 604,
+ EDirectPrintCapabExtent = 901,
+ EDirectPrintCapabExtent2 = 902
+ };
+
+/// Print capability generic options
+enum TPrintCapabilityOptions
+ {
+ // Generic
+ EDirectPrintCapabYes = 1000,
+ EDirectPrintCapabNo = 1001,
+ EDirectPrintCapabOn = 1002,
+ EDirectPrintCapabOff = 1003,
+
+ // Quality
+ EDirectPrintCapabQualityDefault = 1100,
+ EDirectPrintCapabQualityNormal = 1101,
+ EDirectPrintCapabQualityDraft = 1102,
+ EDirectPrintCapabQualityFine = 1103,
+
+ // Paper size
+ EDirectPrintCapabPaperSizeAuto = 1200,
+ EDirectPrintCapabPaperSizeLetter = 1201,
+ EDirectPrintCapabPaperSizeA4 = 1221,
+ EDirectPrintCapabPaperSizeA6 = 1222,
+ EDirectPrintCapabPaperSize4x6 = 1250,
+ EDirectPrintCapabPaperSize5x7 = 1251,
+ EDirectPrintCapabPaperSizeSticker = 1270,
+
+ // Extent
+ EDirectPrintCapabExtentSelect1 = 9001,
+ EDirectPrintCapabExtentSelect2 = 9002,
+ EDirectPrintCapabExtentSelect3 = 9003,
+ EDirectPrintCapabExtentSelect4 = 9004
+ };
+
+#endif // PRINTCAPABILITYCODES_H
+
+// End of File
--- a/DirectPrint/inc/directprintclient.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintclient.h Tue May 11 14:10:02 2010 +0800
@@ -1,315 +1,315 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef RDIRECTPRINTCLIENT_H
-#define RDIRECTPRINTCLIENT_H
-
-#include <e32std.h>
-
-#include "directprintselectitem.h"
-
-class TDirectPrintCapability;
-//class TIdleGuardData;
-//class TDiscoveryGuardData;
-class TDirectPrintJobGuardData;
-
-class RDirectPrintClient : public RSessionBase
- {
- public:
-
- /**
- * Constructor
- */
- IMPORT_C RDirectPrintClient();
-
- /**
- * Connect to the DirectPrint server
- *
- * @return KErrNone if successful, otherwise another of the system-wide error codes
- */
- IMPORT_C void ConnectL();
-
- /**
- * Close the session
- */
- IMPORT_C void Close();
-
- /**
- * Count connections to the server ( all clients in all prosesses )
- *
- * @param aConnections holder for connnections count
- * @return KErrNone if successful, otherwise another of the system-wide error codes
- */
- IMPORT_C TInt CountConnections( TInt& aConnections ) const;
-
- /**
- * Inform server about foreground/background state of the client
- *
- * @param aFg foreground/background flag
- * @return KErrNone if successful, otherwise another of the system-wide error codes
- */
- IMPORT_C TInt SetForeground( TInt aFg ) const;
-
-
- /**
- * Reserves DirectPrint engine for this client
- *
- * @return KErrNone if successful, KErrInUse if used by another client
- */
- IMPORT_C TInt ReserveEngine() const;
-
- /**
- * Releases DirectPrint engine
- *
- * @return KErrNone if successful, KErrInUse if used by another client
- */
- IMPORT_C TInt ReleaseEngine() const;
-
- /**
- * Get protocols supported by DirectPrint engine
- *
- * @return OR:ed protocols or KErrInUse if used by another client
- */
- IMPORT_C TInt SupportedProtocols() const;
-
- /**
- * Gets the number of pages to be printed
- *
- * @return Number of pages to print or KErrInUse if used by another client
- */
- IMPORT_C TInt GetNumPrintPages() const;
-
- /**
- * Gets the status of the printing job created
- *
- * @return Printing job status or KErrInUse if used by another client
- */
- IMPORT_C TInt GetJobStatus() const;
-
- /**
- * Gets the status of the printer
- *
- * @param aPrinterID The exposed ID of the printer the client wants to know about.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetPrinterStatus( TInt aPrinterID ) const;
-
- /**
- * Cancel discovery
- *
- * @return KErrNone or KErrInUse if used by another client
- */
- IMPORT_C TInt CancelDiscovery() const;
-
- /**
- * Submits a print job already created. The actual job execution is asynchronous so this
- * function returns immediately. If successful, notification of job status and job
- * completion is received by the client through the MPrintEventObserver.
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt SubmitPrintJob() const;
-
- /**
- * Cancels the print job. This is an asynchronous command. MPrintEventObserver::PrintJobProgressEvent
- * will be called with the status of TPrintJobProgressEventStatus::EDone when the cancellation
- * is completed. The notification can potentially be received by the client before
- * this command returns to the client.
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CancelPrintJob() const;
-
- /**
- * Continues printing and / or submitting a print job.
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt ContinuePrintJob() const;
-
- /**
- * Removes a specified cached printer.
- *
- * @param aPrinterID The exposed ID of the printer the client wants to remove.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt RemoveCachedPrinter( TInt aPrinterID ) const;
-
- /**
- * Gets the icon representing a given layout or template.
- *
- * @param aTemplateID ID of the template / layout of interest.
- * @param aFbsBitmapHandle Handle to the appropriate bitmap.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetJobTemplateIcon( TInt aTemplateID, TInt& aFbsBitmapHandle ) const;
-
- /**
- * Gets the number of pages in the preview.
- *
- * @return Number of pages in the preview.
- */
- IMPORT_C TInt GetNumPreviewPages() const;
-
- /**
- * Sets a print job setting.
- *
- * @param aCapabilityID ID of the capability of interest.
- * @param aValue New capability value.
- * @param aAffectedCapability ID of any affected capability.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt SetJobSetting( TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability ) const;
-
- /**
- * Gets a setting configured for the created print job.
- *
- * @param aCapabilityID ID of the capability of interest.
- * @param aValue Capability value.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetJobSetting( TInt aCapabilityID, TInt& aValue ) const;
-
- /**
- * Gets the detail of a certain capability of a certain printer.
- *
- * @param aPrinterID The exposed ID of the printer the client wants to know about.
- * @param aCapabilityID ID of the capability of interest.
- * @param aCapability Capability information.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetPrinterCapability(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability) const;
-
- /**
- * Gets the IDs of the capabilities supported by the printer specified.
- *
- * @param aPrinterID The exposed ID of the printer the client wants to know about.
- * @param aCapabilityIDs Array containing the ID's of the capabilities of the specified printer.
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt GetPrinterCapabilityIDs( TInt aPrinterID, RArray<TInt>& aCapabilityIDs ) const;
-
- /**
- * Registers the IdleObserver to send idle event notifications. Asynchronous function.
- *
- * @param aData place holder for idle event. On function completion contains idle event data.
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt RegisterIdleObserver( TIdleGuardData& aData, TRequestStatus& aStatus );
-
- /**
- * Cancel registering idle observer
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt CancelRegisterIdleObserver() const;
-
- /**
- * Start discovery and set request for discovery event. Asynchronous function.
- *
- * @param aData place holder for discovery event. On function completion contains discovery event data.
- * @param aProtocols OR:ed protocol ids
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt StartDiscovery( TDiscoveryGuardData& aData, TUint aProtocols, TRequestStatus& aStatus );
-
- /**
- * Set next request for discovery event. Asynchronous function.
- *
- * @param aData place holder for discovery event. On function completion contains discovery event data.
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
-// IMPORT_C TInt ContinueDiscovery( TDiscoveryGuardData& aData, TRequestStatus& aStatus );
-
- /**
- * Create print job and set request for print job event. Asynchronous function.
- *
- * @param aPrinterID printer id
- * @param aData place holder for print job event. On function completion contains print job event data.
- * @param aImages array of image file names
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CreateJob( TInt aPrinterID, TDirectPrintJobGuardData& aData, RPointerArray<TDesC>& aImages, TRequestStatus& aStatus );
-
- /**
- * Set next request for print job event. Asynchronous function.
- *
- * @param aData place holder for print job event. On function completion contains print job event data.
- * @param aStatus request status
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt ContinueCreateJob( TDirectPrintJobGuardData& aData, TRequestStatus& aStatus );
-
- /**
- * Cancel starting discovery
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CancelStartDiscovery() const;
-
- /**
- * Cancel creating print job
- *
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt CancelCreateJob() const;
-
- /**
- * PictBridge USB mode checker
- *
- * @return TInt value more than 0, if PictBridge USB mode is on; 0 if off; negative value if error
- */
- IMPORT_C TInt IsPictBridgeMode() const;
-
- /**
- * Set number of copies
- *
- * @param aArray array of number of copies elements. Each array element corresponds to the array
- * of image file names of created print job
- * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
- */
- IMPORT_C TInt SetNumberOfCopies( const RArray<TInt>& aArray ) const;
-
- IMPORT_C TInt GetProtocolNames(RSelectItemArray& aNames) const;
-
- public:
-
- /**
- * Version getter
- *
- * @return version of the client
- */
- TVersion Version() const;
-
- private:
-
- TPtr8 iDicsoveryDataPtr;
- TPtr8 iIdleDataPtr;
- TPtr8 iJobDataPtr;
- TDirectPrintCapability* iCapability;
- TPtr8 iNameDataPtr;
- };
-
-
-#endif // RDIRECTPRINTCLIENT_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef RDIRECTPRINTCLIENT_H
+#define RDIRECTPRINTCLIENT_H
+
+#include <e32std.h>
+
+#include "directprintselectitem.h"
+
+class TDirectPrintCapability;
+//class TIdleGuardData;
+//class TDiscoveryGuardData;
+class TDirectPrintJobGuardData;
+
+class RDirectPrintClient : public RSessionBase
+ {
+ public:
+
+ /**
+ * Constructor
+ */
+ IMPORT_C RDirectPrintClient();
+
+ /**
+ * Connect to the DirectPrint server
+ *
+ * @return KErrNone if successful, otherwise another of the system-wide error codes
+ */
+ IMPORT_C void ConnectL();
+
+ /**
+ * Close the session
+ */
+ IMPORT_C void Close();
+
+ /**
+ * Count connections to the server ( all clients in all prosesses )
+ *
+ * @param aConnections holder for connnections count
+ * @return KErrNone if successful, otherwise another of the system-wide error codes
+ */
+ IMPORT_C TInt CountConnections( TInt& aConnections ) const;
+
+ /**
+ * Inform server about foreground/background state of the client
+ *
+ * @param aFg foreground/background flag
+ * @return KErrNone if successful, otherwise another of the system-wide error codes
+ */
+ IMPORT_C TInt SetForeground( TInt aFg ) const;
+
+
+ /**
+ * Reserves DirectPrint engine for this client
+ *
+ * @return KErrNone if successful, KErrInUse if used by another client
+ */
+ IMPORT_C TInt ReserveEngine() const;
+
+ /**
+ * Releases DirectPrint engine
+ *
+ * @return KErrNone if successful, KErrInUse if used by another client
+ */
+ IMPORT_C TInt ReleaseEngine() const;
+
+ /**
+ * Get protocols supported by DirectPrint engine
+ *
+ * @return OR:ed protocols or KErrInUse if used by another client
+ */
+ IMPORT_C TInt SupportedProtocols() const;
+
+ /**
+ * Gets the number of pages to be printed
+ *
+ * @return Number of pages to print or KErrInUse if used by another client
+ */
+ IMPORT_C TInt GetNumPrintPages() const;
+
+ /**
+ * Gets the status of the printing job created
+ *
+ * @return Printing job status or KErrInUse if used by another client
+ */
+ IMPORT_C TInt GetJobStatus() const;
+
+ /**
+ * Gets the status of the printer
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to know about.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetPrinterStatus( TInt aPrinterID ) const;
+
+ /**
+ * Cancel discovery
+ *
+ * @return KErrNone or KErrInUse if used by another client
+ */
+ IMPORT_C TInt CancelDiscovery() const;
+
+ /**
+ * Submits a print job already created. The actual job execution is asynchronous so this
+ * function returns immediately. If successful, notification of job status and job
+ * completion is received by the client through the MPrintEventObserver.
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt SubmitPrintJob() const;
+
+ /**
+ * Cancels the print job. This is an asynchronous command. MPrintEventObserver::PrintJobProgressEvent
+ * will be called with the status of TPrintJobProgressEventStatus::EDone when the cancellation
+ * is completed. The notification can potentially be received by the client before
+ * this command returns to the client.
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CancelPrintJob() const;
+
+ /**
+ * Continues printing and / or submitting a print job.
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt ContinuePrintJob() const;
+
+ /**
+ * Removes a specified cached printer.
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to remove.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt RemoveCachedPrinter( TInt aPrinterID ) const;
+
+ /**
+ * Gets the icon representing a given layout or template.
+ *
+ * @param aTemplateID ID of the template / layout of interest.
+ * @param aFbsBitmapHandle Handle to the appropriate bitmap.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetJobTemplateIcon( TInt aTemplateID, TInt& aFbsBitmapHandle ) const;
+
+ /**
+ * Gets the number of pages in the preview.
+ *
+ * @return Number of pages in the preview.
+ */
+ IMPORT_C TInt GetNumPreviewPages() const;
+
+ /**
+ * Sets a print job setting.
+ *
+ * @param aCapabilityID ID of the capability of interest.
+ * @param aValue New capability value.
+ * @param aAffectedCapability ID of any affected capability.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt SetJobSetting( TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability ) const;
+
+ /**
+ * Gets a setting configured for the created print job.
+ *
+ * @param aCapabilityID ID of the capability of interest.
+ * @param aValue Capability value.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetJobSetting( TInt aCapabilityID, TInt& aValue ) const;
+
+ /**
+ * Gets the detail of a certain capability of a certain printer.
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to know about.
+ * @param aCapabilityID ID of the capability of interest.
+ * @param aCapability Capability information.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetPrinterCapability(TInt aPrinterID, TInt aCapabilityID, TDirectPrintCapability& aCapability) const;
+
+ /**
+ * Gets the IDs of the capabilities supported by the printer specified.
+ *
+ * @param aPrinterID The exposed ID of the printer the client wants to know about.
+ * @param aCapabilityIDs Array containing the ID's of the capabilities of the specified printer.
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt GetPrinterCapabilityIDs( TInt aPrinterID, RArray<TInt>& aCapabilityIDs ) const;
+
+ /**
+ * Registers the IdleObserver to send idle event notifications. Asynchronous function.
+ *
+ * @param aData place holder for idle event. On function completion contains idle event data.
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt RegisterIdleObserver( TIdleGuardData& aData, TRequestStatus& aStatus );
+
+ /**
+ * Cancel registering idle observer
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt CancelRegisterIdleObserver() const;
+
+ /**
+ * Start discovery and set request for discovery event. Asynchronous function.
+ *
+ * @param aData place holder for discovery event. On function completion contains discovery event data.
+ * @param aProtocols OR:ed protocol ids
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt StartDiscovery( TDiscoveryGuardData& aData, TUint aProtocols, TRequestStatus& aStatus );
+
+ /**
+ * Set next request for discovery event. Asynchronous function.
+ *
+ * @param aData place holder for discovery event. On function completion contains discovery event data.
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+// IMPORT_C TInt ContinueDiscovery( TDiscoveryGuardData& aData, TRequestStatus& aStatus );
+
+ /**
+ * Create print job and set request for print job event. Asynchronous function.
+ *
+ * @param aPrinterID printer id
+ * @param aData place holder for print job event. On function completion contains print job event data.
+ * @param aImages array of image file names
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CreateJob( TInt aPrinterID, TDirectPrintJobGuardData& aData, RPointerArray<TDesC>& aImages, TRequestStatus& aStatus );
+
+ /**
+ * Set next request for print job event. Asynchronous function.
+ *
+ * @param aData place holder for print job event. On function completion contains print job event data.
+ * @param aStatus request status
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt ContinueCreateJob( TDirectPrintJobGuardData& aData, TRequestStatus& aStatus );
+
+ /**
+ * Cancel starting discovery
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CancelStartDiscovery() const;
+
+ /**
+ * Cancel creating print job
+ *
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt CancelCreateJob() const;
+
+ /**
+ * PictBridge USB mode checker
+ *
+ * @return TInt value more than 0, if PictBridge USB mode is on; 0 if off; negative value if error
+ */
+ IMPORT_C TInt IsPictBridgeMode() const;
+
+ /**
+ * Set number of copies
+ *
+ * @param aArray array of number of copies elements. Each array element corresponds to the array
+ * of image file names of created print job
+ * @return Any standard Symbian error code or error codes [ KErrInvalidSequence (-50) / KErrInvalidData (-51) ].
+ */
+ IMPORT_C TInt SetNumberOfCopies( const RArray<TInt>& aArray ) const;
+
+ IMPORT_C TInt GetProtocolNames(RSelectItemArray& aNames) const;
+
+ public:
+
+ /**
+ * Version getter
+ *
+ * @return version of the client
+ */
+ TVersion Version() const;
+
+ private:
+
+ TPtr8 iDicsoveryDataPtr;
+ TPtr8 iIdleDataPtr;
+ TPtr8 iJobDataPtr;
+ TDirectPrintCapability* iCapability;
+ TPtr8 iNameDataPtr;
+ };
+
+
+#endif // RDIRECTPRINTCLIENT_H
+
+// End of File
--- a/DirectPrint/inc/directprintclientserver.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintclientserver.h Tue May 11 14:10:02 2010 +0800
@@ -1,84 +1,84 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTCLIENTSERVER_H
-#define DIRECTPRINTCLIENTSERVER_H
-
-// System include files
-#include <e32std.h>
-
-// User include files
-#include "directprintserveruid.h"
-
-_LIT( KDirectPrintServerName, "directprintserver" );
-_LIT( KDirectPrintServerImg, "directprintserver" ); // EXE name
-
-const TInt KMaxDirectPrintMessage = 512;
-const TInt KDirectPrintServerMajor = 0;
-const TInt KDirectPrintServerMinor = 0;
-const TInt KDirectPrintServerBuild = 0;
-
-enum TDirectPrintMessages
- {
- ECountConnections = 0,
- ESetForeground,
- EReserveEngine,
- EReleaseEngine,
- ESupportedProtocols,
- EGetNumPrintPages,
- EGetJobStatus,
- EGetPrinterStatus,
- ECancelDiscovery,
- ESubmitPrintJob,
- ECancelPrintJob, // 10
- EContinuePrintJob,
- ERemoveCachedPrinter,
- EGetJobTemplateIcon,
- EGetNumPreviewPages,
- ESetJobSetting,
- EGetJobSetting,
- EGetPrinterCapability,
- EGetPrinterCapId,
- EGetPrinterCapType,
- EGetPrinterCapDef, // 20
- EGetPrinterCapLow,
- EGetPrinterCapHigh,
- EGetPrinterCapEnumCount,
- EGetPrinterCapEnum,
- EGetPrinterCapabilityIDsCount,
- EGetPrinterCapabilityID,
- ERegisterIdleObserver,
- ECancelRegisterIdleObserver,
- EStartDiscovery,
- EContinueDiscovery, // 30
- EPrepareJob,
- ECreateJob,
- EContinueCreateJob,
- ECancelStartDiscovery,
- ECancelCreateJob,
- EIsPictBridgeMode,
- ESetNumberOfCopiesCount,
- ESetNumberOfCopies, // 38
- EGetProtocolNamesCount,
- EGetProtocolName
- };
-
-#endif// DIRECTPRINTCLIENTSERVER_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTCLIENTSERVER_H
+#define DIRECTPRINTCLIENTSERVER_H
+
+// System include files
+#include <e32std.h>
+
+// User include files
+#include "directprintserveruid.h"
+
+_LIT( KDirectPrintServerName, "directprintserver" );
+_LIT( KDirectPrintServerImg, "directprintserver" ); // EXE name
+
+const TInt KMaxDirectPrintMessage = 512;
+const TInt KDirectPrintServerMajor = 0;
+const TInt KDirectPrintServerMinor = 0;
+const TInt KDirectPrintServerBuild = 0;
+
+enum TDirectPrintMessages
+ {
+ ECountConnections = 0,
+ ESetForeground,
+ EReserveEngine,
+ EReleaseEngine,
+ ESupportedProtocols,
+ EGetNumPrintPages,
+ EGetJobStatus,
+ EGetPrinterStatus,
+ ECancelDiscovery,
+ ESubmitPrintJob,
+ ECancelPrintJob, // 10
+ EContinuePrintJob,
+ ERemoveCachedPrinter,
+ EGetJobTemplateIcon,
+ EGetNumPreviewPages,
+ ESetJobSetting,
+ EGetJobSetting,
+ EGetPrinterCapability,
+ EGetPrinterCapId,
+ EGetPrinterCapType,
+ EGetPrinterCapDef, // 20
+ EGetPrinterCapLow,
+ EGetPrinterCapHigh,
+ EGetPrinterCapEnumCount,
+ EGetPrinterCapEnum,
+ EGetPrinterCapabilityIDsCount,
+ EGetPrinterCapabilityID,
+ ERegisterIdleObserver,
+ ECancelRegisterIdleObserver,
+ EStartDiscovery,
+ EContinueDiscovery, // 30
+ EPrepareJob,
+ ECreateJob,
+ EContinueCreateJob,
+ ECancelStartDiscovery,
+ ECancelCreateJob,
+ EIsPictBridgeMode,
+ ESetNumberOfCopiesCount,
+ ESetNumberOfCopies, // 38
+ EGetProtocolNamesCount,
+ EGetProtocolName
+ };
+
+#endif// DIRECTPRINTCLIENTSERVER_H
+
+// End of File
--- a/DirectPrint/inc/directprintjobguarddata.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintjobguarddata.h Tue May 11 14:10:02 2010 +0800
@@ -1,51 +1,51 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTJOBGUARDDATA_H
-#define DIRECTPRINTJOBGUARDDATA_H
-
-// System includes
-#include <e32def.h>
-
-class TDirectPrintJobGuardData
- {
-public:
-
- enum TCallbackNum
- {
- EProgressEventCb = 0,
- EErrorEventCb,
- EStatusEventCb,
- EImageEventCb
- };
-
-public:
-
- TInt iStatus;
- TInt iPercentCompletion;
- TInt iJobStateCode;
- TInt iError;
- TInt iErrorStringCode;
- TInt iFsBitmapHandle;
- TCallbackNum iCb;
- };
-
-#endif // DIRECTPRINTJOBGUARDDATA_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTJOBGUARDDATA_H
+#define DIRECTPRINTJOBGUARDDATA_H
+
+// System includes
+#include <e32def.h>
+
+class TDirectPrintJobGuardData
+ {
+public:
+
+ enum TCallbackNum
+ {
+ EProgressEventCb = 0,
+ EErrorEventCb,
+ EStatusEventCb,
+ EImageEventCb
+ };
+
+public:
+
+ TInt iStatus;
+ TInt iPercentCompletion;
+ TInt iJobStateCode;
+ TInt iError;
+ TInt iErrorStringCode;
+ TInt iFsBitmapHandle;
+ TCallbackNum iCb;
+ };
+
+#endif // DIRECTPRINTJOBGUARDDATA_H
+
+// End of File
--- a/DirectPrint/inc/directprintselectitem.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintselectitem.h Tue May 11 14:10:02 2010 +0800
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef __DIRECTPRINTSELECTITEM_H__
-#define __DIRECTPRINTSELECTITEM_H__
-
-// System includes
-#include <e32cmn.h>
-
-// Class declaration
-/**
- * Select item information class
- * more_complete_description
- */
-class TDirectPrintSelectItem
- {
-public:
- /** Id. */
- TInt iId;
- /** Name. */
- TBuf<50> iName;
- };
-
-typedef RArray<TDirectPrintSelectItem> RSelectItemArray;
-
-#endif // __DIRECTPRINTSELECTITEM_H__
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTSELECTITEM_H__
+#define __DIRECTPRINTSELECTITEM_H__
+
+// System includes
+#include <e32cmn.h>
+
+// Class declaration
+/**
+ * Select item information class
+ * more_complete_description
+ */
+class TDirectPrintSelectItem
+ {
+public:
+ /** Id. */
+ TInt iId;
+ /** Name. */
+ TBuf<50> iName;
+ };
+
+typedef RArray<TDirectPrintSelectItem> RSelectItemArray;
+
+#endif // __DIRECTPRINTSELECTITEM_H__
--- a/DirectPrint/inc/directprintserveruid.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintserveruid.h Tue May 11 14:10:02 2010 +0800
@@ -1,29 +1,29 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef DIRECTPRINTSERVERUID_H
-#define DIRECTPRINTSERVERUID_H
-
-// Image Print Server UID3
-
-#define KDIRECTPRINTSERVERUID3 0x2002BB2C
-
-#endif // DIRECTPRINTSERVERUID_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef DIRECTPRINTSERVERUID_H
+#define DIRECTPRINTSERVERUID_H
+
+// Image Print Server UID3
+
+#define KDIRECTPRINTSERVERUID3 0x2002BB2C
+
+#endif // DIRECTPRINTSERVERUID_H
+
+// End of File
--- a/DirectPrint/inc/directprintuiplugin.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/directprintuiplugin.h Tue May 11 14:10:02 2010 +0800
@@ -1,105 +1,105 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-* {Description of the file}
-*
-*/
-
-// Protection against nested includes
-#ifndef _DIRECTPRINTUIPLUGIN_H_
-#define _DIRECTPRINTUIPLUGIN_H_
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-#include <ecom.h>
-
-// User includes
-#include "directprintpropertydata.h"
-
-// Forward declarations
-class CAknSettingItemArray;
-class RReadStream;
-class RWriteStream;
-
-//Constants
-/** Interface UID */
-const TUid KUidDirectPrintUiPluginInterface = { 0x2002BB33 };
-
-// Class declaration
-/**
- * Ui plugin class
- * more_complete_description
- */
-class CDirectPrintUiPlugin : public CBase
- {
-public:
- inline static CDirectPrintUiPlugin* NewL(TUid aUid);
- inline static CDirectPrintUiPlugin* NewL(const TDesC8& aKey);
- virtual ~CDirectPrintUiPlugin();
-
-public:
- inline static void GetPluginListL(RImplInfoPtrArray& aArray);
-
-public:
- virtual void InternalizePropertiesL(RReadStream& aStream) = 0;
- virtual void ExternalizePropertiesL(RWriteStream& aStream) = 0;
-
- virtual void LoadExtendItemsL(CAknSettingItemArray& aArray, TInt aId) = 0;
- virtual void ReadDataL(TDirectPrintPropertyData& aData) = 0;
- virtual void WriteDataL(RDPPropertyDataArray& aArray) = 0;
- virtual void NewDataL() = 0;
-
-protected:
- inline CDirectPrintUiPlugin();
-
-private:
- TUid iDtor_ID_Key;
- };
-
-
-// Inline codepart
-inline CDirectPrintUiPlugin::CDirectPrintUiPlugin()
- {
- }
-
-inline CDirectPrintUiPlugin* CDirectPrintUiPlugin::NewL(TUid aUid)
- {
- TAny* any = REComSession::CreateImplementationL(aUid, _FOFF(CDirectPrintUiPlugin, iDtor_ID_Key));
- CDirectPrintUiPlugin* plugin = reinterpret_cast<CDirectPrintUiPlugin*>(any);
- return plugin;
- }
-
-inline CDirectPrintUiPlugin* CDirectPrintUiPlugin::NewL(const TDesC8& aKey)
- {
- TEComResolverParams params;
- params.SetDataType(aKey);
- params.SetWildcardMatch(ETrue);
-
- TAny* any = REComSession::CreateImplementationL(KUidDirectPrintUiPluginInterface, _FOFF(CDirectPrintUiPlugin, iDtor_ID_Key), NULL, params);
- CDirectPrintUiPlugin* plugin = reinterpret_cast<CDirectPrintUiPlugin*>(any);
- return plugin;
- }
-
-inline CDirectPrintUiPlugin::~CDirectPrintUiPlugin()
- {
- REComSession::DestroyedImplementation(iDtor_ID_Key);
- }
-
-inline void CDirectPrintUiPlugin::GetPluginListL(RImplInfoPtrArray& aArray)
- {
- REComSession::ListImplementationsL(KUidDirectPrintUiPluginInterface, aArray);
- }
-
-#endif // _DIRECTPRINTUIPLUGIN_H_
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef _DIRECTPRINTUIPLUGIN_H_
+#define _DIRECTPRINTUIPLUGIN_H_
+
+// System includes
+#include <e32base.h>
+#include <coecntrl.h>
+#include <ecom.h>
+
+// User includes
+#include "directprintpropertydata.h"
+
+// Forward declarations
+class CAknSettingItemArray;
+class RReadStream;
+class RWriteStream;
+
+//Constants
+/** Interface UID */
+const TUid KUidDirectPrintUiPluginInterface = { 0x2002BB33 };
+
+// Class declaration
+/**
+ * Ui plugin class
+ * more_complete_description
+ */
+class CDirectPrintUiPlugin : public CBase
+ {
+public:
+ inline static CDirectPrintUiPlugin* NewL(TUid aUid);
+ inline static CDirectPrintUiPlugin* NewL(const TDesC8& aKey);
+ virtual ~CDirectPrintUiPlugin();
+
+public:
+ inline static void GetPluginListL(RImplInfoPtrArray& aArray);
+
+public:
+ virtual void InternalizePropertiesL(RReadStream& aStream) = 0;
+ virtual void ExternalizePropertiesL(RWriteStream& aStream) = 0;
+
+ virtual void LoadExtendItemsL(CAknSettingItemArray& aArray, TInt aId) = 0;
+ virtual void ReadDataL(TDirectPrintPropertyData& aData) = 0;
+ virtual void WriteDataL(RDPPropertyDataArray& aArray) = 0;
+ virtual void NewDataL() = 0;
+
+protected:
+ inline CDirectPrintUiPlugin();
+
+private:
+ TUid iDtor_ID_Key;
+ };
+
+
+// Inline codepart
+inline CDirectPrintUiPlugin::CDirectPrintUiPlugin()
+ {
+ }
+
+inline CDirectPrintUiPlugin* CDirectPrintUiPlugin::NewL(TUid aUid)
+ {
+ TAny* any = REComSession::CreateImplementationL(aUid, _FOFF(CDirectPrintUiPlugin, iDtor_ID_Key));
+ CDirectPrintUiPlugin* plugin = reinterpret_cast<CDirectPrintUiPlugin*>(any);
+ return plugin;
+ }
+
+inline CDirectPrintUiPlugin* CDirectPrintUiPlugin::NewL(const TDesC8& aKey)
+ {
+ TEComResolverParams params;
+ params.SetDataType(aKey);
+ params.SetWildcardMatch(ETrue);
+
+ TAny* any = REComSession::CreateImplementationL(KUidDirectPrintUiPluginInterface, _FOFF(CDirectPrintUiPlugin, iDtor_ID_Key), NULL, params);
+ CDirectPrintUiPlugin* plugin = reinterpret_cast<CDirectPrintUiPlugin*>(any);
+ return plugin;
+ }
+
+inline CDirectPrintUiPlugin::~CDirectPrintUiPlugin()
+ {
+ REComSession::DestroyedImplementation(iDtor_ID_Key);
+ }
+
+inline void CDirectPrintUiPlugin::GetPluginListL(RImplInfoPtrArray& aArray)
+ {
+ REComSession::ListImplementationsL(KUidDirectPrintUiPluginInterface, aArray);
+ }
+
+#endif // _DIRECTPRINTUIPLUGIN_H_
--- a/DirectPrint/inc/logdef.h Wed Apr 28 21:35:31 2010 +0100
+++ b/DirectPrint/inc/logdef.h Tue May 11 14:10:02 2010 +0800
@@ -1,40 +1,40 @@
-/*
-* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// Protection against nested includes
-#ifndef LOGDEF_H
-#define LOGDEF_H
-
-//#define ENABLE_LOGGING
-//#define LOG_TO_FILE
-
-/*
-#ifdef _DEBUG
-// logging is always enabled in debug builds
-#define ENABLE_LOGGING
-#else
-// manually enable in release builds
-//#define ENABLE_LOGGING
-#endif // _DEBUG
-
-#define LOG_TO_FILE
-*/
-
-#endif // LOGDEF_H
-
-// End of File
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// Protection against nested includes
+#ifndef LOGDEF_H
+#define LOGDEF_H
+
+//#define ENABLE_LOGGING
+//#define LOG_TO_FILE
+
+/*
+#ifdef _DEBUG
+// logging is always enabled in debug builds
+#define ENABLE_LOGGING
+#else
+// manually enable in release builds
+//#define ENABLE_LOGGING
+#endif // _DEBUG
+
+#define LOG_TO_FILE
+*/
+
+#endif // LOGDEF_H
+
+// End of File