00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <e32base.h>
00018 #include <e32test.h>
00019 #include <e32svr.h>
00020 #include <c32comm.h>
00021 #include "f32file.h"
00022
00023 #include "CommonFiles.h"
00024
00025
00026 #if defined (__WINS__)
00027 _LIT(PDD_NAME,"ECDRV");
00028 _LIT(LDD_NAME,"ECOMM");
00029 #else
00030 _LIT(PDD_NAME,"EUART1");
00031 _LIT(LDD_NAME,"ECOMM");
00032 #endif
00033
00034 _LIT8(DATA_STRING,"Symbian platform infra red printing\n\r");
00035
00036 LOCAL_C void InitL();
00037
00038
00039 LOCAL_C void doExampleL()
00040 {
00041 _LIT(KStatus0,"Connect to file server\n");
00042 _LIT(KStatus1,"Connect to comm server\n");
00043 _LIT(KStatus2,"Load IrCOMM.CSY\n");
00044 _LIT(KStatus3,"Open IrCOMM::0\n");
00045 _LIT(KStatus4,"Write to IrCOMM::0\n");
00046 _LIT(KStatus5,"Close IrCOMM::0\n");
00047 _LIT(KStatus6,"Close server connection\n");
00048 _LIT(KIrCOMM,"IrCOMM");
00049 _LIT(KIrCOMM0,"IrCOMM::0");
00050
00051 const TTimeIntervalMicroSeconds32 KTimeOut(4000000);
00052
00053
00054 console->Printf(KStatus0);
00055
00056
00057
00058
00059 RFs f;
00060 User::LeaveIfError(f.Connect());
00061 f.Close();
00062
00063
00064 InitL();
00065
00066 RCommServ server;
00067
00068
00069 console->Printf(KStatus1);
00070 User::LeaveIfError(server.Connect());
00071
00072
00073
00074
00075 console->Printf(KStatus2);
00076 TInt ret=server.LoadCommModule(KIrCOMM);
00077
00078
00079 User::LeaveIfError(ret);
00080
00081 RComm commPort;
00082
00083
00084
00085 console->Printf(KStatus3);
00086 ret=commPort.Open(server,KIrCOMM0,ECommExclusive);
00087
00088 User::LeaveIfError(ret);
00089
00090 TRequestStatus status;
00091
00092
00093
00094
00095 console->Printf(KStatus4);
00096 commPort.Write(status,KTimeOut,DATA_STRING);
00097 User::WaitForRequest(status);
00098
00099
00100
00101
00102 console->Printf(KStatus5);
00103 commPort.Close();
00104
00105 console->Printf(KStatus6);
00106 server.Close();
00107 }
00108
00109
00110 LOCAL_C void InitL()
00111
00112
00113
00114
00115
00116
00117
00118 {
00119
00120
00121
00122
00123 TInt r=User::LoadPhysicalDevice(PDD_NAME);
00124 if (r != KErrNone && r!= KErrAlreadyExists)
00125 User::Leave(r);
00126
00127
00128 r=User::LoadLogicalDevice(LDD_NAME);
00129 if (r != KErrNone && r != KErrAlreadyExists)
00130 User::Leave(r);
00131
00132
00133 #if defined (__EPOC32__)
00134
00135
00136 r=StartC32();
00137 if (r != KErrAlreadyExists)
00138 User::LeaveIfError(r);
00139 #endif
00140 }
00141
00142