inline exception exception const exception other message other message virtual glan server session create session int throw glan exception create session must be overloaded return 0 createsession createsession application application int argc char argv glan server application argc argv void application start server if server port throw glan exception tr you must init server s port first listen socket new glan server socket this server port startserver serverport listensocket glanserversocket serverport server close thread event thread wait delete thread serverclosethreadevent void new connection int socket q debug void new connection int socket session thread thread new session thread application socket thread start newconnection qdebug newconnection sessionthread sessionthread void g frame init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create frame element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object gframe initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createframe setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g frame set frame style int style simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set frame style element set attribute style style parent element append child element end transport block gframe setframestyle simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setframestyle setattribute parentelement appendchild end_transport_block void g frame set line width int width simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set line width element set attribute width width parent element append child element end transport block gframe setlinewidth simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setlinewidth setattribute parentelement appendchild end_transport_block void g frame set margin int margin simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set margin element set attribute margin margin parent element append child element end transport block gframe setmargin simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setmargin setattribute parentelement appendchild end_transport_block g list view item selected item return selected item glistviewitem selecteditem selecteditem void g list view init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create list view element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object glistview initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createlistview setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g list view clear simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event clear parent element append child element end transport block glistview simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent parentelement appendchild end_transport_block void g list view set resize mode g list view resize mode m simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set resize mode element set attribute mode m parent element append child element end transport block glistview setresizemode glistview resizemode simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setresizemode setattribute parentelement appendchild end_transport_block void g list view set root is decorated bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set root is decorated element set attribute flag int flag parent element append child element end transport block glistview setrootisdecorated simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setrootisdecorated setattribute parentelement appendchild end_transport_block void g list view set tree step size int size simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set tree step size element set attribute size size parent element append child element end transport block glistview settreestepsize simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent settreestepsize setattribute parentelement appendchild end_transport_block void g list view set selection mode g list view selection mode mode simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set selection mode element set attribute mode int mode parent element append child element end transport block glistview setselectionmode glistview selectionmode simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setselectionmode setattribute parentelement appendchild end_transport_block void g list view set all columns show focus bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set all columns show focus element set attribute flag int flag parent element append child element end transport block glistview setallcolumnsshowfocus simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setallcolumnsshowfocus setattribute parentelement appendchild end_transport_block void g list view set item margin int size simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set item margin element set attribute size size parent element append child element end transport block glistview setitemmargin simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setitemmargin setattribute parentelement appendchild end_transport_block void g list view set sorting int column bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set sorting element set attribute column column element set attribute flag flag parent element append child element end transport block glistview setsorting simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setsorting setattribute setattribute parentelement appendchild end_transport_block g list view item selected item return selected item glistviewitem selecteditem selecteditem g header g list view header if view header view header new grc header get session simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event header set client object element view header element header parent element append child element end transport block return view header gheader glistview viewheader viewheader grcheader getsession simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setclientobjectelement viewheader parentelement appendchild end_transport_block viewheader void set depth int d depth d setdepth int depth return depth void g list view item init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create list view item element set attribute constructor type constructor type set client object element parent list view item element parent item set client object element parent list view element parent view parent element append child element end transport block if is block receive object glistviewitem initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createlistviewitem setattribute constructortype constructortype setclientobjectelement parentlistviewitem parentitem setclientobjectelement parentlistview parentview parentelement appendchild end_transport_block isblock receiveobject constructor type view parent if final final init object constructortype viewparent initobject constructor type item parent if final final init object constructortype itemparent initobject void g list view item set pixmap int column g pixmap pixmap simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set pixmap element set attribute column column set client object element pixmap element pixmap parent element append child element end transport block glistviewitem setpixmap gpixmap simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setpixmap setattribute setclientobjectelement parentelement appendchild end_transport_block void g list view item set visible bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set visible element set attribute flag flag parent element append child element end transport block glistviewitem setvisible simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setvisible setattribute parentelement appendchild end_transport_block void set depth int d depth d setdepth int depth return depth bool is modal return modal flag ismodal modalflag void g widget stack init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create widget stack element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object gwidgetstack initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createwidgetstack setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g widget stack add widget g widget widget int id if widget return widgets in stack append widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add widget set client object element widget element widget element set attribute id id parent element append child element end transport block gwidgetstack addwidget gwidget widgetsinstack simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addwidget setclientobjectelement setattribute parentelement appendchild end_transport_block void g widget stack raise widget g widget widget if widget return simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event raise widget set client object element widget element widget parent element append child element end transport block gwidgetstack raisewidget gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent raisewidget setclientobjectelement parentelement appendchild end_transport_block void g widget stack remove widget g widget widget q debug g widget stack remove widget g widget widget if widget return widgets in stack remove widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event remove widget set client object element widget element widget parent element append child element end transport block gwidgetstack removewidget gwidget qdebug gwidgetstack removewidget gwidget widgetsinstack simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent removewidget setclientobjectelement parentelement appendchild end_transport_block void g int init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create int element set attribute value value parent element append child element end transport block if is block receive object gint initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createint setattribute parentelement appendchild end_transport_block isblock receiveobject void g int set value int value value value simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set value element set attribute value value parent element append child element end transport block gint setvalue simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setvalue setattribute parentelement appendchild end_transport_block g int g int glan server session session int value g object session begin transport block init object set value value end transport block gint gint gobject begin_transport_block initobject setvalue end_transport_block g int g int operator const g int copy if this copy set value copy value return this gint gint gint setvalue g int operator const int value set value value return this gint setvalue operator int const return value void g int obtain simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event obtain parent element append child element end transport block gint simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent parentelement appendchild end_transport_block g int operator const int value set value value return this gint setvalue operator int const return value int state return button state buttonstate void g button init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create button element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object gbutton initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createbutton setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g button set pixmap g pixmap pixmap simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set pixmap set client object element pixmap element pixmap parent element append child element end transport block gbutton setpixmap gpixmap simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setpixmap setclientobjectelement parentelement appendchild end_transport_block int state return button state buttonstate void g tool button init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create tool button element set attribute name name parent element append child element end transport block if is block receive object gtoolbutton initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createtoolbutton setattribute parentelement appendchild end_transport_block isblock receiveobject g button parent name 0 not final if final final init object gbutton not_final initobject void g tool button set auto raise bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set auto raise element set attribute flag int flag parent element append child element end transport block gtoolbutton setautoraise simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setautoraise setattribute parentelement appendchild end_transport_block bool auto raise return auto rise flag autoraise autoriseflag void g tool box init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create tool box element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object gtoolbox initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createtoolbox setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g tab widget index of g widget widget g int remote var if remote var widget return simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event index of set client object element widget element widget set client object element remote var element remote var parent element append child element end transport block gtabwidget indexof gwidget gint remote_var remote_var simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent indexof setclientobjectelement setclientobjectelement remote_var remote_var parentelement appendchild end_transport_block void g tab widget set current page g int remote var if remote var return simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set current page set client object element remote var element remote var parent element append child element end transport block gtabwidget setcurrentpage gint remote_var remote_var simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setcurrentpage setclientobjectelement remote_var remote_var parentelement appendchild end_transport_block void g tab widget remove page g widget widget if widget return simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event remove page set client object element widget element widget parent element append child element end transport block gtabwidget removepage gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent removepage setclientobjectelement parentelement appendchild end_transport_block void g splitter init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create splitter element set attribute name name parent element append child element end transport block if is block receive object gsplitter initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createsplitter setattribute parentelement appendchild end_transport_block isblock receiveobject g frame parent name 0 not final if final final init object gframe not_final initobject void g splitter move to first g widget widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event move to first set client object element widget element widget parent element append child element end transport block gsplitter movetofirst gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent movetofirst setclientobjectelement parentelement appendchild end_transport_block void g splitter move to last g widget widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event move to last set client object element widget element widget parent element append child element end transport block gsplitter movetolast gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent movetolast setclientobjectelement parentelement appendchild end_transport_block void g splitter obtain sizes simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event obtain sizes parent element append child element end transport block gsplitter obtainsizes simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent obtainsizes parentelement appendchild end_transport_block void g splitter set opaque resize bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set opaque resize element set attribute flag int flag parent element append child element end transport block gsplitter setopaqueresize simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setopaqueresize setattribute parentelement appendchild end_transport_block void g scroll view init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create scroll view element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object gscrollview initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createscrollview setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g radio button init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create radio button element set attribute name name parent element append child element end transport block if is block receive object gradiobutton initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createradiobutton setattribute parentelement appendchild end_transport_block isblock receiveobject g button parent name 0 not final if final final init object gbutton not_final initobject void g radio button set checked bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set checked element set attribute flag int flag parent element append child element end transport block gradiobutton setchecked simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setchecked setattribute parentelement appendchild end_transport_block void g push button init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create push button element set attribute name name parent element append child element end transport block if is block receive object gpushbutton initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createpushbutton setattribute parentelement appendchild end_transport_block isblock receiveobject g button parent name 0 not final if final final init object gbutton not_final initobject void g push button set toggle button bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set toggle button element set attribute flag int flag parent element append child element end transport block gpushbutton settogglebutton simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent settogglebutton setattribute parentelement appendchild end_transport_block void g push button set on bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set on element set attribute flag int flag parent element append child element end transport block gpushbutton seton simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent seton setattribute parentelement appendchild end_transport_block void g push button set flat bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set flat element set attribute flag int flag parent element append child element end transport block gpushbutton setflat simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setflat setattribute parentelement appendchild end_transport_block void g pixmap init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create pixmap element set attribute name name parent element append child element end transport block if is block receive object gpixmap initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createpixmap setattribute parentelement appendchild end_transport_block isblock receiveobject g object p session name not final if final final init object gobject p_session not_final initobject void g message box init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create message box element set attribute name name element set attribute caption caption element set attribute text text element set attribute icon int icon value element set attribute button0 button0 element set attribute button1 button1 element set attribute button2 button2 element set attribute widget flag get widget flag element set attribute modal flag int is modal set parent widget element element parent element append child element end transport block if is block q debug g message box init object n t not in block receiving return packt now receive object gmessagebox initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createmessagebox setattribute setattribute setattribute setattribute iconvalue setattribute setattribute setattribute setattribute widgetflag getwidgetflag setattribute modalflag ismodal setparentwidgetelement parentelement appendchild end_transport_block isblock qdebug gmessagebox initobject receiveobject void g dock window init object q debug server g dock window init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create dock window element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object gdockwindow initobject qdebug gdockwindow initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createdockwindow setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g dock window set resize enabled bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set resize enabled element set attribute flag flag parent element append child element end transport block gdockwindow setresizeenabled simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setresizeenabled setattribute parentelement appendchild end_transport_block void g dock window set moving enabled bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set moving enabled element set attribute flag flag parent element append child element end transport block gdockwindow setmovingenabled simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setmovingenabled setattribute parentelement appendchild end_transport_block void g dock window set horizontally stretchable bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set horizontally stretchable element set attribute flag flag parent element append child element end transport block gdockwindow sethorizontallystretchable simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent sethorizontallystretchable setattribute parentelement appendchild end_transport_block void g dock window set vertically stretchable bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set vertically stretchable element set attribute flag flag parent element append child element end transport block gdockwindow setverticallystretchable simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setverticallystretchable setattribute parentelement appendchild end_transport_block void g dock window set fixed extent width int w simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set fixed extent width element set attribute width w parent element append child element end transport block gdockwindow setfixedextentwidth simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setfixedextentwidth setattribute parentelement appendchild end_transport_block void g dock window set fixed extent height int h simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set fixed extent height element set attribute height h parent element append child element end transport block gdockwindow setfixedextentheight simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setfixedextentheight setattribute parentelement appendchild end_transport_block void g dock window set widget g widget widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set widget set client object element widget element widget parent element append child element end transport block gdockwindow setwidget gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setwidget setclientobjectelement parentelement appendchild end_transport_block void g main window set central widget g widget widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set central widget set client object element widget element widget parent element append child element end transport block gmainwindow setcentralwidget gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setcentralwidget setclientobjectelement parentelement appendchild end_transport_block void grc header init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create client internal header parent element append child element end transport block if is block receive object grcheader initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createclientinternalheader parentelement appendchild end_transport_block isblock receiveobject void g header init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create header element set attribute name name parent element append child element end transport block if is block receive object gheader initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createheader setattribute parentelement appendchild end_transport_block isblock receiveobject g widget parent name 0 not final if final final init object gwidget not_final initobject void g header hide simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event hide parent element append child element end transport block gheader simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent parentelement appendchild end_transport_block void g line edit init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create line edit element set attribute name name parent element append child element end transport block if is block receive object glineedit initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createlineedit setattribute parentelement appendchild end_transport_block isblock receiveobject line text 0 if final final init object linetext initobject void g line edit obtain text simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event obtain text parent element append child element end transport block glineedit obtaintext simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent obtaintext parentelement appendchild end_transport_block void g line edit set read only bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set read only element set attribute flag int flag parent element append child element end transport block glineedit setreadonly simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setreadonly setattribute parentelement appendchild end_transport_block void g line edit clear simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event clear parent element append child element end transport block glineedit simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent parentelement appendchild end_transport_block void g spacer item init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create spacer item element set attribute w w element set attribute h h element set attribute h data h data element set attribute v data v data parent element append child element end transport block if is block receive object gspaceritem initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createspaceritem setattribute setattribute setattribute hdata hdata setattribute vdata vdata parentelement appendchild end_transport_block isblock receiveobject constructor type parent widget if parent widget 0 throw glan exception g layout g layout parent widget is null constructortype parentwidget parentwidget glayout glayout if parent layout 0 throw glan exception g layout g layout parent layout is null parentlayout glayout glayout void g layout set spacing int spacing simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set spacing element set attribute spacing spacing parent element append child element end transport block glayout setspacing simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setspacing setattribute parentelement appendchild end_transport_block void g layout set margin int margin simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set margin element set attribute margin margin parent element append child element end transport block glayout setmargin simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setmargin setattribute parentelement appendchild end_transport_block void g layout set alignment int alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set alignment element set attribute alignment alignment parent element append child element end transport block glayout setalignment simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setalignment setattribute parentelement appendchild end_transport_block void g layout add item g spacer item spacer simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add item set client object element spacer element spacer parent element append child element end transport block glayout additem gspaceritem simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent additem setclientobjectelement parentelement appendchild end_transport_block inline g widget g layout get parent widget return parent widget gwidget glayout getparentwidget parentwidget inline g layout g layout get parent layout return parent layout glayout glayout getparentlayout parentlayout inline int g layout get margin return margin glayout getmargin inline int g layout get spacing return spacing glayout getspacing void grc layout init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create client internal layout parent element append child element end transport block if is block receive object grclayout initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createclientinternallayout parentelement appendchild end_transport_block isblock receiveobject void g box layout init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create box layout element set attribute constructor type constructor type if constructor type parent widget set parent widget element element element set attribute margin get margin if constructor type parent layout set parent layout element element element set attribute name name element set attribute spacing get spacing parent element append child element end transport block if is block receive object gboxlayout initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createboxlayout setattribute constructortype constructortype constructortype parentwidget setparentwidgetelement setattribute getmargin constructortype parentlayout setparentlayoutelement setattribute setattribute getspacing parentelement appendchild end_transport_block isblock receiveobject direction dir if final final init object initobject direction dir if final final init object initobject void g box layout add widget g widget widget int stretch int alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add widget set client object element widget element widget element set attribute stretch stretch element set attribute alignment alignment parent element append child element end transport block gboxlayout addwidget gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addwidget setclientobjectelement setattribute setattribute parentelement appendchild end_transport_block void g box layout add layout g layout layout int stretch simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add layout set client object element layout element layout element set attribute stretch stretch parent element append child element end transport block gboxlayout addlayout glayout simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addlayout setclientobjectelement setattribute parentelement appendchild end_transport_block void g box layout add stretch int stretch simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add stretch element set attribute stretch stretch parent element append child element end transport block gboxlayout addstretch simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addstretch setattribute parentelement appendchild end_transport_block direction get direction return direction getdirection void gh box layout init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event createh box layout element set attribute constructor type constructor type if constructor type parent widget set parent widget element element element set attribute margin get margin if constructor type parent layout set parent layout element element element set attribute name name element set attribute spacing get spacing parent element append child element end transport block if is block receive object ghboxlayout initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createhboxlayout setattribute constructortype constructortype constructortype parentwidget setparentwidgetelement setattribute getmargin constructortype parentlayout setparentlayoutelement setattribute setattribute getspacing parentelement appendchild end_transport_block isblock receiveobject void gv box layout init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event createv box layout element set attribute constructor type constructor type if constructor type parent widget set parent widget element element element set attribute margin get margin if constructor type parent layout set parent layout element element element set attribute name name element set attribute spacing get spacing parent element append child element end transport block if is block receive object gvboxlayout initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute createvboxlayout setattribute constructortype constructortype constructortype parentwidget setparentwidgetelement setattribute getmargin constructortype parentlayout setparentlayoutelement setattribute setattribute getspacing parentelement appendchild end_transport_block isblock receiveobject void g grid layout init object simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event create grid layout element set attribute constructor type constructor type if constructor type parent widget set parent widget element element element set attribute margin get margin if constructor type parent layout set parent layout element element element set attribute name name element set attribute spacing get spacing element set attribute rows number of rows element set attribute cols number of cols parent element append child element end transport block if is block receive object ggridlayout initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute creategridlayout setattribute constructortype constructortype constructortype parentwidget setparentwidgetelement setattribute getmargin constructortype parentlayout setparentlayoutelement setattribute setattribute getspacing setattribute numberofrows setattribute numberofcols parentelement appendchild end_transport_block isblock receiveobject void g grid layout add widget g widget widget int row int col int alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add widget set client object element widget element widget element set attribute row row element set attribute col col element set attribute alignment alignment parent element append child element end transport block ggridlayout addwidget gwidget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addwidget setclientobjectelement setattribute setattribute setattribute parentelement appendchild end_transport_block void g grid layout add layout g layout layout int row int col simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add layout set client object element layout element layout element set attribute row row element set attribute col col parent element append child element end transport block ggridlayout addlayout glayout simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addlayout setclientobjectelement setattribute setattribute parentelement appendchild end_transport_block void g grid layout add item g spacer item spacer int row int col simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add item set client object element spacer element spacer element set attribute row row element set attribute col col parent element append child element end transport block ggridlayout additem gspaceritem simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent additem setclientobjectelement setattribute setattribute parentelement appendchild end_transport_block int to col int alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add multi cell set client object element spacer element spacer element set attribute from row from row element set attribute to row to row element set attribute from col from col element set attribute to col to col element set attribute alignment alignment parent element append child element end transport block tocol simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addmulticell setclientobjectelement setattribute fromrow fromrow setattribute torow torow setattribute fromcol fromcol setattribute tocol tocol setattribute parentelement appendchild end_transport_block int from col int to col int alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add multi cell widget set client object element widget element widget element set attribute from row from row element set attribute to row to row element set attribute from col from col element set attribute to col to col element set attribute alignment alignment parent element append child element end transport block fromcol tocol simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addmulticellwidget setclientobjectelement setattribute fromrow fromrow setattribute torow torow setattribute fromcol fromcol setattribute tocol tocol setattribute parentelement appendchild end_transport_block int from col int to col int alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event add multi cell layout set client object element layout element layout element set attribute from row from row element set attribute to row to row element set attribute from col from col element set attribute to col to col element set attribute alignment alignment parent element append child element end transport block fromcol tocol simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent addmulticelllayout setclientobjectelement setattribute fromrow fromrow setattribute torow torow setattribute fromcol fromcol setattribute tocol tocol setattribute parentelement appendchild end_transport_block void g grid layout set col stretch int col int stretch simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set col stretch element set attribute col col element set attribute stretch stretch parent element append child element end transport block ggridlayout setcolstretch simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setcolstretch setattribute setattribute parentelement appendchild end_transport_block void g grid layout set row stretch int row int stretch simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set row stretch element set attribute row row element set attribute stretch stretch parent element append child element end transport block ggridlayout setrowstretch simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setrowstretch setattribute setattribute parentelement appendchild end_transport_block void g label init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create label element set attribute name name element set attribute widget flag widget flag parent element append child element end transport block if is block receive object glabel initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createlabel setattribute setattribute widgetflag widgetflag parentelement appendchild end_transport_block isblock receiveobject void g label set buddy g widget buddy widget buddy widget buddy widget simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set buddy set client object element buddy widget element buddy widget parent element append child element end transport block glabel setbuddy gwidget buddy_widget buddywidget buddy_widget simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setbuddy setclientobjectelement buddywidget buddywidget parentelement appendchild end_transport_block void g label set alignment int alignment alignment alignment simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set alignment element set attribute alignment alignment parent element append child element end transport block glabel setalignment simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setalignment setattribute parentelement appendchild end_transport_block void g label set pixmap g pixmap pixmap simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set pixmap set client object element pixmap element pixmap parent element append child element end transport block glabel setpixmap gpixmap simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setpixmap setclientobjectelement parentelement appendchild end_transport_block void g group box init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create group box element set attribute name name parent element append child element end transport block if is block receive object ggroupbox initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute creategroupbox setattribute parentelement appendchild end_transport_block isblock receiveobject g frame parent name 0 not final if final final init object gframe not_final initobject void g date edit init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create date edit element set attribute name name parent element append child element end transport block if is block receive object gdateedit initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createdateedit setattribute parentelement appendchild end_transport_block isblock receiveobject g widget parent name 0 not final if final final init object gwidget not_final initobject void g date edit obtain simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event obtain text parent element append child element end transport block gdateedit simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent obtaintext parentelement appendchild end_transport_block void g button group init object simple xml element parent element begin transport block simple xml element element prepare event element set parent widget element element element set attribute event create button group element set attribute name name parent element append child element end transport block if is block receive object gbuttongroup initobject simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setparentwidgetelement setattribute createbuttongroup setattribute parentelement appendchild end_transport_block isblock receiveobject g group box parent name not final if final final init object ggroupbox not_final initobject void g button group set exclusive bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set exclusive element set attribute flag flag parent element append child element end transport block gbuttongroup setexclusive simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setexclusive setattribute parentelement appendchild end_transport_block void g button group set radio button exclusive bool flag simple xml element parent element begin transport block simple xml element element prepare event element element set attribute event glan object event element set attribute object event set radio button exclusive element set attribute flag flag parent element append child element end transport block gbuttongroup setradiobuttonexclusive simplexmlelement parentelement begin_transport_block simplexmlelement prepareevent setattribute objectevent setattribute objectevent setradiobuttonexclusive setattribute parentelement appendchild end_transport_block void clean header truncate 0 content truncate 0 footer truncate 0 set title title string settitle titlestring const simple xml element simple xml element operator const simple xml element other if this other content flag other content flag header other header content other content footer other footer title string other title string return this simplexmlelement simplexmlelement simplexmlelement contentflag contentflag titlestring titlestring void simple xml element append child simple xml element element content flag true content element to string simplexmlelement appendchild simplexmlelement contentflag tostring void clean header truncate 0 document truncate 0 const simple xml document simple xml document operator const simple xml document other if this other header other header document other document return this simplexmldocument simplexmldocument simplexmldocument void simple xml document append child simple xml element element document element to string simplexmldocument appendchild simplexmlelement tostring client close thread event thread wait delete thread clientclosethreadevent bool is process return process flag isprocess processflag socket device get write socket return write socket socketdevice getwritesocket writesocket void clean document packet document clean root element clean cleandocument packetdocument rootelement void set process flag bool fl process flag fl setprocessflag processflag void update const char in int len 1 update reinterpret cast const unsigned char in len reinterpret_cast void update const char in int len 1 update reinterpret cast const unsigned char in len reinterpret_cast void kmd5 update const unsigned char in int len if len 0 len qstrlen reinterpret cast const char in if len return if m finalized cout kmd5 update called after state was finalized endl return q uint32 in index q uint32 buffer index q uint32 buffer space q uint32 in length static cast q uint32 len buffer index static cast q uint32 m count 0 3 0x3f if m count 0 in length 3 in length 3 m count 1 m count 1 in length 29 buffer space 64 buffer index if in length buffer space memcpy m buffer buffer index in buffer space transform m buffer for in index buffer space in index 63 in length in index 64 transform reinterpret cast const unsigned char in in index buffer index 0 else in index 0 memcpy m buffer buffer index in in index in length in index reinterpret_cast m_finalized q_uint32 in_index q_uint32 buffer_index q_uint32 buffer_space q_uint32 in_length static_cast q_uint32 buffer_index static_cast q_uint32 m_count m_count in_length in_length m_count m_count in_length buffer_space buffer_index in_length buffer_space m_buffer buffer_index buffer_space m_buffer in_index buffer_space in_index in_length in_index reinterpret_cast in_index buffer_index in_index m_buffer buffer_index in_index in_length in_index void kmd5 reset m finalized false m count 0 0 m count 1 0 m state 0 0x67452301 m state 1 0xefcdab89 m state 2 0x98badcfe m state 3 0x10325476 memset m buffer 0 sizeof m buffer memset m digest 0 sizeof m digest m_finalized m_count m_count m_state m_state m_state m_state m_buffer m_buffer m_digest m_digest const kmd5 digest kmd5 raw digest finalize return m digest rawdigest m_digest void kmd5 raw digest kmd5 digest bin finalize memcpy bin m digest 16 rawdigest m_digest bool kmd5 verify const kmd5 digest digest finalize return 0 memcmp raw digest digest sizeof kmd5 digest rawdigest void kmd5 transform const unsigned char block 64 q uint32 a m state 0 b m state 1 c m state 2 d m state 3 x 16 decode x block 64 memcpy x block 64 q assert m finalized not just a user error since the method is private round 1 ff a b c d x 0 kmd5 s11 0xd76aa478 1 ff d a b c x 1 kmd5 s12 0xe8c7b756 2 ff c d a b x 2 kmd5 s13 0x242070db 3 ff b c d a x 3 kmd5 s14 0xc1bdceee 4 ff a b c d x 4 kmd5 s11 0xf57c0faf 5 ff d a b c x 5 kmd5 s12 0x4787c62a 6 ff c d a b x 6 kmd5 s13 0xa8304613 7 ff b c d a x 7 kmd5 s14 0xfd469501 8 ff a b c d x 8 kmd5 s11 0x698098d8 9 ff d a b c x 9 kmd5 s12 0x8b44f7af 10 ff c d a b x 10 kmd5 s13 0xffff5bb1 11 ff b c d a x 11 kmd5 s14 0x895cd7be 12 ff a b c d x 12 kmd5 s11 0x6b901122 13 ff d a b c x 13 kmd5 s12 0xfd987193 14 ff c d a b x 14 kmd5 s13 0xa679438e 15 ff b c d a x 15 kmd5 s14 0x49b40821 16 round 2 gg a b c d x 1 kmd5 s21 0xf61e2562 17 gg d a b c x 6 kmd5 s22 0xc040b340 18 gg c d a b x 11 kmd5 s23 0x265e5a51 19 gg b c d a x 0 kmd5 s24 0xe9b6c7aa 20 gg a b c d x 5 kmd5 s21 0xd62f105d 21 gg d a b c x 10 kmd5 s22 0x2441453 22 gg c d a b x 15 kmd5 s23 0xd8a1e681 23 gg b c d a x 4 kmd5 s24 0xe7d3fbc8 24 gg a b c d x 9 kmd5 s21 0x21e1cde6 25 gg d a b c x 14 kmd5 s22 0xc33707d6 26 gg c d a b x 3 kmd5 s23 0xf4d50d87 27 gg b c d a x 8 kmd5 s24 0x455a14ed 28 gg a b c d x 13 kmd5 s21 0xa9e3e905 29 gg d a b c x 2 kmd5 s22 0xfcefa3f8 30 gg c d a b x 7 kmd5 s23 0x676f02d9 31 gg b c d a x 12 kmd5 s24 0x8d2a4c8a 32 round 3 hh a b c d x 5 kmd5 s31 0xfffa3942 33 hh d a b c x 8 kmd5 s32 0x8771f681 34 hh c d a b x 11 kmd5 s33 0x6d9d6122 35 hh b c d a x 14 kmd5 s34 0xfde5380c 36 hh a b c d x 1 kmd5 s31 0xa4beea44 37 hh d a b c x 4 kmd5 s32 0x4bdecfa9 38 hh c d a b x 7 kmd5 s33 0xf6bb4b60 39 hh b c d a x 10 kmd5 s34 0xbebfbc70 40 hh a b c d x 13 kmd5 s31 0x289b7ec6 41 hh d a b c x 0 kmd5 s32 0xeaa127fa 42 hh c d a b x 3 kmd5 s33 0xd4ef3085 43 hh b c d a x 6 kmd5 s34 0x4881d05 44 hh a b c d x 9 kmd5 s31 0xd9d4d039 45 hh d a b c x 12 kmd5 s32 0xe6db99e5 46 hh c d a b x 15 kmd5 s33 0x1fa27cf8 47 hh b c d a x 2 kmd5 s34 0xc4ac5665 48 round 4 ii a b c d x 0 kmd5 s41 0xf4292244 49 ii d a b c x 7 kmd5 s42 0x432aff97 50 ii c d a b x 14 kmd5 s43 0xab9423a7 51 ii b c d a x 5 kmd5 s44 0xfc93a039 52 ii a b c d x 12 kmd5 s41 0x655b59c3 53 ii d a b c x 3 kmd5 s42 0x8f0ccc92 54 ii c d a b x 10 kmd5 s43 0xffeff47d 55 ii b c d a x 1 kmd5 s44 0x85845dd1 56 ii a b c d x 8 kmd5 s41 0x6fa87e4f 57 ii d a b c x 15 kmd5 s42 0xfe2ce6e0 58 ii c d a b x 6 kmd5 s43 0xa3014314 59 ii b c d a x 13 kmd5 s44 0x4e0811a1 60 ii a b c d x 4 kmd5 s41 0xf7537e82 61 ii d a b c x 11 kmd5 s42 0xbd3af235 62 ii c d a b x 2 kmd5 s43 0x2ad7d2bb 63 ii b c d a x 9 kmd5 s44 0xeb86d391 64 m state 0 a m state 1 b m state 2 c m state 3 d memset static cast void x 0 sizeof x q_uint32 m_state m_state m_state m_state q_assert m_finalized kmd5_s11 kmd5_s12 kmd5_s13 kmd5_s14 kmd5_s11 kmd5_s12 kmd5_s13 kmd5_s14 kmd5_s11 kmd5_s12 kmd5_s13 kmd5_s14 kmd5_s11 kmd5_s12 kmd5_s13 kmd5_s14 kmd5_s21 kmd5_s22 kmd5_s23 kmd5_s24 kmd5_s21 kmd5_s22 kmd5_s23 kmd5_s24 kmd5_s21 kmd5_s22 kmd5_s23 kmd5_s24 kmd5_s21 kmd5_s22 kmd5_s23 kmd5_s24 kmd5_s31 kmd5_s32 kmd5_s33 kmd5_s34 kmd5_s31 kmd5_s32 kmd5_s33 kmd5_s34 kmd5_s31 kmd5_s32 kmd5_s33 kmd5_s34 kmd5_s31 kmd5_s32 kmd5_s33 kmd5_s34 kmd5_s41 kmd5_s42 kmd5_s43 kmd5_s44 kmd5_s41 kmd5_s42 kmd5_s43 kmd5_s44 kmd5_s41 kmd5_s42 kmd5_s43 kmd5_s44 kmd5_s41 kmd5_s42 kmd5_s43 kmd5_s44 m_state m_state m_state m_state static_cast void kmd5 finalize if m finalized return q uint8 bits 8 q uint32 index pad len static unsigned char padding 64 0x80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 encode bits m count 8 memcpy bits m count 8 pad out to 56 mod 64 index static cast q uint32 m count 0 3 0x3f pad len index 56 56 index 120 index update reinterpret cast const char padding pad len append length before padding update reinterpret cast const char bits 8 store state in digest encode m digest m state 16 memcpy m digest m state 16 fill sensitive information with zero s memset void m buffer 0 sizeof m buffer m finalized true m_finalized q_uint8 q_uint32 padlen m_count m_count static_cast q_uint32 m_count padlen reinterpret_cast padlen reinterpret_cast m_digest m_state m_digest m_state m_buffer m_buffer m_finalized void kmd5 init d 0 reset void init const record id id init const cast record id id get id const cast record id id get rid recordid const_cast recordid getid const_cast recordid getrid bool is init if id 0 return true return false isinit void activator emit double activate doubleactivate q sql database get db connect return db connection qsqldatabase getdbconnect dbconnection q timer get timer return import scan timer qtimer gettimer importscantimer inline list view item list view item g list view parent g list view item parent listviewitem listviewitem glistview glistviewitem inline list view item list view item listviewitem listviewitem inline void list view item do activate emit activate listviewitem doactivate inline bool system user is encrypt if is init throw error record not init return encrypt flag systemuser isencrypt isinit errorrecordnotinit encryptflag inline void system user set encrypt bool encrypt flag encrypt flag encrypt flag systemuser setencrypt encrypt_flag encryptflag encrypt_flag inline void system user init const record id id record init id systemuser recordid inline bool database is use return use flag isuse useflag bool is transaction return transaction level istransaction transactionlevel inline void database set use bool f use flag f setuse useflag void database transaction if transaction level 0 db connection transaction transaction level use flag true transactionlevel dbconnection transactionlevel useflag void database commit if transaction level 0 transaction level if transaction level 0 db connection commit use flag false transactionlevel transactionlevel transactionlevel dbconnection useflag void database rollback db connection rollback transaction level 0 use flag false dbconnection transactionlevel useflag void fiscal registrator sendnak void q debug void fiscal registrator sendnak void if port putch nak 0 if port last error 14 throw error write port flush fiscalregistrator qdebug fiscalregistrator lasterror errorwrite void fiscal registrator sendack void q debug void fiscal registrator sendack void if port putch ack 0 if port last error 14 throw error write port flush fiscalregistrator qdebug fiscalregistrator lasterror errorwrite void fiscal registrator sendenq void q debug void fiscal registrator sendenq void if port putch enq 0 if port last error 14 throw error write port flush fiscalregistrator qdebug fiscalregistrator lasterror errorwrite unsigned char fiscal registrator read byte unsigned char ret if port bytes waiting 0 throw error timeout if port read block char ret 1 1 throw error read printf 0x x ret return ret fiscalregistrator readbyte byteswaiting errortimeout readblock errorread void fiscal registrator read bytes unsigned char buffer int len q debug void fiscal registrator read bytes unsigned char buffer int len for int i 0 i len i buffer i unsigned char read byte printf n fiscalregistrator readbytes qdebug fiscalregistrator readbytes readbyte packet packet int command len q debug void fiscal registrator send command unsigned char command q long ret packet data buff 0 stx packet data buff 1 command len packet data buff 2 command if command len 5 memcpy packet data buff 3 operator password 4 memcpy packet data buff 7 packet buff command len 5 packet data buff command len 2 lrc packet data buff command len 1 1 packet data len command len 3 for int i 0 i tries i q debug send command writing packet ret port write block const char packet data buff packet data len port flush q debug send command writing packet ok ret d ret if ret 1 q debug t write ok if read byte ack q debug send command reading packet packet len read packet packet buff q debug send command reading packet ok if packet buff 0 command throw error sending command if evalint packet buff 1 1 0 throw ecr error evalint packet buff 1 1 return else q debug no ack sleep 1 sleep 1 throw error sending command command_len qdebug fiscalregistrator sendcommand q_long packetdata packetdata command_len packetdata command_len packetdata operatorpassword packetdata command_len packetdata command_len packetdata command_len packetdata command_len qdebug sendcommand writeblock packetdata packetdata qdebug sendcommand qdebug twrite readbyte qdebug sendcommand readpacket qdebug sendcommand errorsendingcommand ecrerror qdebug errorsendingcommand unsigned short int fiscal registrator lrc unsigned char str int len int offset int i unsigned char ptr unsigned char ch 0 ptr str offset for i 0 i len i ch ptr i return ch fiscalregistrator bool fiscal registrator connect q debug void fiscal registrator connect unsigned char buffer 260 try if port open throw error connect tofr for int i 0 i tries i sendenq int ret read byte switch ret case nak fr connect flag true return fr connect flag case ack fr connect flag true read packet buffer continue default continue catch glan exception error fr connect flag false q debug void fiscal registrator connect done return fr connect flag fiscalregistrator qdebug fiscalregistrator errorconnecttofr readbyte frconnectflag frconnectflag frconnectflag readpacket frconnectflag qdebug fiscalregistrator frconnectflag void fiscal registrator disconnect if port open port close fr connect flag true fiscalregistrator frconnectflag void fiscal registrator beep packet temp packet if fr connect flag return send command beep temp packet 5 fiscalregistrator temppacket frconnectflag sendcommand temppacket void fiscal registrator print string packet temp packet if fr connect flag return temp packet buff 0 use journal ribbon true 1 0 temp packet buff 0 use receipt ribbon true 2 0 strncpy char temp packet buff 1 const char codec from unicode string for printing 40 send command print string temp packet 46 fiscalregistrator printstring temppacket frconnectflag temppacket usejournalribbon temppacket usereceiptribbon temppacket fromunicode stringforprinting sendcommand print_string temppacket void fiscal registrator print wide string packet temp packet if fr connect flag return temp packet buff 0 use journal ribbon true 1 0 temp packet buff 0 use receipt ribbon true 2 0 strncpy char temp packet buff 1 const char codec from unicode string for printing 20 send command print wide string temp packet 26 fiscalregistrator printwidestring temppacket frconnectflag temppacket usejournalribbon temppacket usereceiptribbon temppacket fromunicode stringforprinting sendcommand print_wide_string temppacket void fiscal registrator cut check packet temp packet if fr connect flag return temp packet buff 0 cut type send command cut check temp packet 6 fiscalregistrator cutcheck temppacket frconnectflag temppacket cuttype sendcommand cut_check temppacket void fiscal registrator get device metrics q debug void fiscal registrator get device metrics packet temp packet if fr connect flag return send command get device metrics temp packet 1 u major type evalint temp packet buff 2 1 u minor type evalint temp packet buff 3 1 u major protocol version evalint temp packet buff 4 1 u minor protocol version evalint temp packet buff 5 1 u model evalint temp packet buff 6 1 u code page evalint temp packet buff 7 1 u description insert 0 codec to unicode char temp packet buff 8 temp packet len 7 fiscalregistrator getdevicemetrics qdebug fiscalregistrator getdevicemetrics temppacket frconnectflag sendcommand get_device_metrics temppacket umajortype temppacket uminortype temppacket umajorprotocolversion temppacket uminorprotocolversion temppacket umodel temppacket ucodepage temppacket udescription tounicode temppacket temppacket void fiscal registrator print bar code packet temp packet if fr connect flag return q int64 barcode bar code to long memcpy temp packet buff barcode 5 send command print barcode temp packet 10 fiscalregistrator printbarcode temppacket frconnectflag q_int64 barcode tolong temppacket sendcommand print_barcode temppacket qext serial base qext serial base qio device char name str 50 ifdef tty win strcpy name str com1 elif defined tty irix strcpy name str dev ttyf1 elif defined tty hpux strcpy name str dev tty1p0 elif defined tty sun strcpy name str dev ttya elif defined tty digital strcpy name str dev tty01 elif defined tty freebsd strcpy name str dev ttyd1 else strcpy name str dev ttys0 endif set name name str qextserialbase qextserialbase qiodevice namestr _tty_win_ namestr _tty_irix_ namestr _tty_hpux_ namestr _tty_sun_ namestr _tty_digital_ namestr _tty_freebsd_ namestr namestr setname namestr qext serial base qext serial base const char name qio device set name name qextserialbase qextserialbase qiodevice setname qext serial base qext serial base ifdef qt thread support ref count if mutex ref count 0 delete mutex mutex null endif qextserialbase qextserialbase qt_thread_support refcount refcount void qext serial base construct void ifdef qt thread support if mutex mutex new q mutex true ref count endif port open false qextserialbase qt_thread_support qmutex refcount portopen const char qext serial base name const return port name qextserialbase portname void qext serial base set name const char name memcpy port name name min strlen name 1 port name size limit qextserialbase setname portname port_name_size_limit bool qext serial base open const char name lock mutex if port open set serial port name and call open set name name unlock mutex return open unlock mutex return port open qextserialbase lock_mutex portopen setname unlock_mutex unlock_mutex portopen int qext serial base ungetch int meaningless on unbuffered sequential device return error and print a warning tty warning qext serial port ungetch called on an unbuffered sequential device operation is meaningless return 1 qextserialbase tty_warning qextserialport bool qext serial base at end const if size return true return false qextserialbase atend flow type qext serial base flow control const return settings flow control flowtype qextserialbase flowcontrol flowcontrol parity type qext serial base parity const return settings parity paritytype qextserialbase data bits type qext serial base data bits const return settings data bits databitstype qextserialbase databits databits stop bits type qext serial base stop bits const return settings stop bits stopbitstype qextserialbase stopbits stopbits unsigned long qext serial base last error const return last err qextserialbase lasterror lasterr bool qext serial base is open void return port open qextserialbase isopen portopen win qextserialport win qextserialport qext serial base construct win_qextserialport win_qextserialport qextserialbase win qextserialport win qextserialport const win qextserialport s qext serial base s port name construct port open s port open last err s last err memcpy port name s port name sizeof port name settings flow control s settings flow control settings parity s settings parity settings data bits s settings data bits settings stop bits s settings stop bits settings baud rate s settings baud rate win handle s win handle memcpy win commconfig s win commconfig sizeof commconfig memcpy win commtimeouts s win commtimeouts sizeof commtimeouts win_qextserialport win_qextserialport win_qextserialport qextserialbase portname portopen portopen lasterr lasterr portname portname portname flowcontrol flowcontrol databits databits stopbits stopbits baudrate baudrate win_handle win_handle win_commconfig win_commconfig win_commtimeouts win_commtimeouts win qextserialport win qextserialport const char name qext serial base name construct win_qextserialport win_qextserialport qextserialbase win qextserialport win qextserialport const port settings settings construct set baud rate settings baud rate set data bits settings data bits set stop bits settings stop bits set parity settings parity set flow control settings flow control set timeout settings timeout sec settings timeout millisec win_qextserialport win_qextserialport portsettings setbaudrate baudrate setdatabits databits setstopbits stopbits setparity setflowcontrol flowcontrol settimeout timeout_sec timeout_millisec win qextserialport win qextserialport const char name const port settings settings construct set name name set baud rate settings baud rate set data bits settings data bits set stop bits settings stop bits set parity settings parity set flow control settings flow control set timeout settings timeout sec settings timeout millisec win_qextserialport win_qextserialport portsettings setname setbaudrate baudrate setdatabits databits setstopbits stopbits setparity setflowcontrol flowcontrol settimeout timeout_sec timeout_millisec win qextserialport win qextserialport operator const win qextserialport s port open s is open last err s last err memcpy port name s port name sizeof port name settings flow control s settings flow control settings parity s settings parity settings data bits s settings data bits settings stop bits s settings stop bits settings baud rate s settings baud rate win handle s win handle memcpy win commconfig s win commconfig sizeof commconfig memcpy win commtimeouts s win commtimeouts sizeof commtimeouts return this win_qextserialport win_qextserialport win_qextserialport portopen isopen lasterr lasterr portname portname portname flowcontrol flowcontrol databits databits stopbits stopbits baudrate baudrate win_handle win_handle win_commconfig win_commconfig win_commtimeouts win_commtimeouts win qextserialport win qextserialport if port open close win_qextserialport win_qextserialport portopen bool win qextserialport open int unsigned long conf size lock mutex if port open open the port win handle create filea port name generic read generic write file share read file share write null open existing 0 null if win handle invalid handle value port open true configure port settings get comm config win handle win commconfig conf size get comm state win handle win commconfig dcb win commconfig dcb f binary true win commconfig dcb f inx false win commconfig dcb f outx false win commconfig dcb f abort on error false win commconfig dcb f null false half second timeout by default set timeout win commtimeouts read total timeout constant 1000 win commtimeouts read total timeout constant 1000 set up parameters set baud rate settings baud rate set data bits settings data bits set stop bits settings stop bits set parity settings parity set flow control settings flow control unlock mutex return port open win_qextserialport confsize lock_mutex portopen win_handle createfilea portname generic_read generic_write file_share_read file_share_write open_existing win_handle invalid_handle_value portopen getcommconfig win_handle win_commconfig confsize getcommstate win_handle win_commconfig win_commconfig fbinary win_commconfig finx win_commconfig foutx win_commconfig fabortonerror win_commconfig fnull settimeout win_commtimeouts readtotaltimeoutconstant win_commtimeouts readtotaltimeoutconstant setbaudrate baudrate setdatabits databits setstopbits stopbits setparity setflowcontrol flowcontrol unlock_mutex portopen void win qextserialport close lock mutex close handle win handle port open false unlock mutex win_qextserialport lock_mutex closehandle win_handle portopen unlock_mutex void win qextserialport flush lock mutex if port open flush file buffers win handle unlock mutex win_qextserialport lock_mutex portopen flushfilebuffers win_handle unlock_mutex int win qextserialport getch lock mutex int ret val 1 if port open int read char 1 comstat win comstat dword win bytesread 0 dword win errormask 0 clear comm error win handle win errormask win comstat if win comstat cb in que if read file win handle void read char 1 win bytesread null win bytesread 0 ret val 1 last err e read failed else windows returns unsigned short 1 when it means 0xff for some reason if read char 1 read char 0xff ret val read char unlock mutex return ret val win_qextserialport lock_mutex retval portopen readchar win_comstat win_bytesread win_errormask clearcommerror win_handle win_errormask win_comstat win_comstat cbinque readfile win_handle readchar win_bytesread win_bytesread retval lasterr e_read_failed readchar readchar retval readchar unlock_mutex retval int win qextserialport putch int ch lock mutex int ret val 0 if port open dword win byteswritten if write file win handle void ch 1 win byteswritten null ret val 1 last err e write failed else ret val ch unlock mutex flush return ret val win_qextserialport lock_mutex retval portopen win_byteswritten writefile win_handle win_byteswritten retval lasterr e_write_failed retval unlock_mutex retval int win qextserialport ungetch int meaningless on unbuffered sequential device return error and print a warning tty warning win qextserialport ungetch called on an unbuffered sequential device operation is meaningless return 1 win_qextserialport tty_warning win_qextserialport void win qextserialport set flow control flow type flow lock mutex if settings flow control flow settings flow control flow if port open switch flow no flow control case flow off win commconfig dcb f outx cts flow false win commconfig dcb f rts control rts control disable win commconfig dcb f inx false win commconfig dcb f outx false set comm config win handle win commconfig sizeof commconfig break software xon xoff flow control case flow xonxoff win commconfig dcb f outx cts flow false win commconfig dcb f rts control rts control disable win commconfig dcb f inx true win commconfig dcb f outx true set comm config win handle win commconfig sizeof commconfig break case flow hardware win commconfig dcb f outx cts flow true win commconfig dcb f rts control rts control handshake win commconfig dcb f inx false win commconfig dcb f outx false set comm config win handle win commconfig sizeof commconfig break unlock mutex win_qextserialport setflowcontrol flowtype lock_mutex flowcontrol flowcontrol portopen flow_off win_commconfig foutxctsflow win_commconfig frtscontrol rts_control_disable win_commconfig finx win_commconfig foutx setcommconfig win_handle win_commconfig flow_xonxoff win_commconfig foutxctsflow win_commconfig frtscontrol rts_control_disable win_commconfig finx win_commconfig foutx setcommconfig win_handle win_commconfig flow_hardware win_commconfig foutxctsflow win_commconfig frtscontrol rts_control_handshake win_commconfig finx win_commconfig foutx setcommconfig win_handle win_commconfig unlock_mutex void win qextserialport set parity parity type parity lock mutex if settings parity parity settings parity parity if port open win commconfig dcb parity unsigned char parity switch parity space parity case par space if settings data bits data 8 tty portability warning win qextserialport portability warning space parity with 8 data bits is not supported by posix systems win commconfig dcb f parity true break mark parity windows only case par mark tty portability warning win qextserialport portability warning mark parity is not supported by posix systems win commconfig dcb f parity true break no parity case par none win commconfig dcb f parity false break even parity case par even win commconfig dcb f parity true break odd parity case par odd win commconfig dcb f parity true break set comm config win handle win commconfig sizeof commconfig unlock mutex win_qextserialport setparity paritytype lock_mutex portopen win_commconfig par_space databits data_8 tty_portability_warning win_qextserialport win_commconfig fparity par_mark tty_portability_warning win_qextserialport win_commconfig fparity par_none win_commconfig fparity par_even win_commconfig fparity par_odd win_commconfig fparity setcommconfig win_handle win_commconfig unlock_mutex void win qextserialport set data bits data bits type data bits lock mutex if settings data bits data bits if settings stop bits stop 2 data bits data 5 settings stop bits stop 1 5 data bits data 5 else settings data bits data bits if port open switch data bits 5 data bits case data 5 if settings stop bits stop 2 tty warning win qextserialport 5 data bits cannot be used with 2 stop bits else win commconfig dcb byte size 5 set comm config win handle win commconfig sizeof commconfig break 6 data bits case data 6 if settings stop bits stop 1 5 tty warning win qextserialport 6 data bits cannot be used with 1 5 stop bits else win commconfig dcb byte size 6 set comm config win handle win commconfig sizeof commconfig break 7 data bits case data 7 if settings stop bits stop 1 5 tty warning win qextserialport 7 data bits cannot be used with 1 5 stop bits else win commconfig dcb byte size 7 set comm config win handle win commconfig sizeof commconfig break 8 data bits case data 8 if settings stop bits stop 1 5 tty warning win qextserialport 8 data bits cannot be used with 1 5 stop bits else win commconfig dcb byte size 8 set comm config win handle win commconfig sizeof commconfig break unlock mutex win_qextserialport setdatabits databitstype databits lock_mutex databits databits stopbits stop_2 databits data_5 stopbits stop_1_5 databits data_5 databits databits portopen databits data_5 stopbits stop_2 tty_warning win_qextserialport win_commconfig bytesize setcommconfig win_handle win_commconfig data_6 stopbits stop_1_5 tty_warning win_qextserialport win_commconfig bytesize setcommconfig win_handle win_commconfig data_7 stopbits stop_1_5 tty_warning win_qextserialport win_commconfig bytesize setcommconfig win_handle win_commconfig data_8 stopbits stop_1_5 tty_warning win_qextserialport win_commconfig bytesize setcommconfig win_handle win_commconfig unlock_mutex void win qextserialport set stop bits stop bits type stop bits lock mutex if settings stop bits stop bits if settings data bits data 5 stop bits stop 2 stop bits stop 1 5 settings data bits data 5 else settings stop bits stop bits if port open switch stop bits one stop bit case stop 1 win commconfig dcb stop bits onestopbit set comm config win handle win commconfig sizeof commconfig break 1 5 stop bits case stop 1 5 tty portability warning win qextserialport portability warning 1 5 stop bit operation is not supported by posix if settings data bits data 5 tty warning win qextserialport 1 5 stop bits can only be used with 5 data bits else win commconfig dcb stop bits one5stopbits set comm config win handle win commconfig sizeof commconfig break two stop bits case stop 2 if settings data bits data 5 tty warning win qextserialport 2 stop bits cannot be used with 5 data bits else win commconfig dcb stop bits twostopbits set comm config win handle win commconfig sizeof commconfig break unlock mutex win_qextserialport setstopbits stopbitstype stopbits lock_mutex stopbits stopbits databits data_5 stopbits stop_2 stopbits stop_1_5 databits data_5 stopbits stopbits portopen stopbits stop_1 win_commconfig stopbits setcommconfig win_handle win_commconfig stop_1_5 tty_portability_warning win_qextserialport databits data_5 tty_warning win_qextserialport win_commconfig stopbits setcommconfig win_handle win_commconfig stop_2 databits data_5 tty_warning win_qextserialport win_commconfig stopbits setcommconfig win_handle win_commconfig unlock_mutex void win qextserialport set baud rate baud rate type baud rate lock mutex if settings baud rate baud rate switch baud rate case baud50 case baud75 case baud134 case baud150 case baud200 settings baud rate baud110 break case baud1800 settings baud rate baud1200 break case baud76800 settings baud rate baud57600 break default settings baud rate baud rate break if port open switch baud rate 50 baud case baud50 tty warning win qextserialport windows does not support 50 baud operation switching to 110 baud win commconfig dcb baud rate cbr 110 break 75 baud case baud75 tty warning win qextserialport windows does not support 75 baud operation switching to 110 baud win commconfig dcb baud rate cbr 110 break 110 baud case baud110 win commconfig dcb baud rate cbr 110 break 134 5 baud case baud134 tty warning win qextserialport windows does not support 134 5 baud operation switching to 110 baud win commconfig dcb baud rate cbr 110 break 150 baud case baud150 tty warning win qextserialport windows does not support 150 baud operation switching to 110 baud win commconfig dcb baud rate cbr 110 break 200 baud case baud200 tty warning win qextserialport windows does not support 200 baud operation switching to 110 baud win commconfig dcb baud rate cbr 110 break 300 baud case baud300 win commconfig dcb baud rate cbr 300 break 600 baud case baud600 win commconfig dcb baud rate cbr 600 break 1200 baud case baud1200 win commconfig dcb baud rate cbr 1200 break 1800 baud case baud1800 tty warning win qextserialport windows does not support 1800 baud operation switching to 1200 baud win commconfig dcb baud rate cbr 1200 break 2400 baud case baud2400 win commconfig dcb baud rate cbr 2400 break 4800 baud case baud4800 win commconfig dcb baud rate cbr 4800 break 9600 baud case baud9600 win commconfig dcb baud rate cbr 9600 break 14400 baud case baud14400 tty portability warning win qextserialport portability warning posix does not support 14400 baud operation win commconfig dcb baud rate cbr 14400 break 19200 baud case baud19200 win commconfig dcb baud rate cbr 19200 break 38400 baud case baud38400 win commconfig dcb baud rate cbr 38400 break 56000 baud case baud56000 tty portability warning win qextserialport portability warning posix does not support 56000 baud operation win commconfig dcb baud rate cbr 56000 break 57600 baud case baud57600 win commconfig dcb baud rate cbr 57600 break 76800 baud case baud76800 tty warning win qextserialport windows does not support 76800 baud operation switching to 57600 baud win commconfig dcb baud rate cbr 57600 break 115200 baud case baud115200 win commconfig dcb baud rate cbr 115200 break 128000 baud case baud128000 tty portability warning win qextserialport portability warning posix does not support 128000 baud operation win commconfig dcb baud rate cbr 128000 break 256000 baud case baud256000 tty portability warning win qextserialport portability warning posix does not support 256000 baud operation win commconfig dcb baud rate cbr 256000 break set comm config win handle win commconfig sizeof commconfig unlock mutex win_qextserialport setbaudrate baudratetype baudrate lock_mutex baudrate baudrate baudrate baudrate baudrate baudrate baudrate baudrate portopen baudrate tty_warning win_qextserialport win_commconfig baudrate cbr_110 tty_warning win_qextserialport win_commconfig baudrate cbr_110 win_commconfig baudrate cbr_110 tty_warning win_qextserialport win_commconfig baudrate cbr_110 tty_warning win_qextserialport win_commconfig baudrate cbr_110 tty_warning win_qextserialport win_commconfig baudrate cbr_110 win_commconfig baudrate cbr_300 win_commconfig baudrate cbr_600 win_commconfig baudrate cbr_1200 tty_warning win_qextserialport win_commconfig baudrate cbr_1200 win_commconfig baudrate cbr_2400 win_commconfig baudrate cbr_4800 win_commconfig baudrate cbr_9600 tty_portability_warning win_qextserialport win_commconfig baudrate cbr_14400 win_commconfig baudrate cbr_19200 win_commconfig baudrate cbr_38400 tty_portability_warning win_qextserialport win_commconfig baudrate cbr_56000 win_commconfig baudrate cbr_57600 tty_warning win_qextserialport win_commconfig baudrate cbr_57600 win_commconfig baudrate cbr_115200 tty_portability_warning win_qextserialport win_commconfig baudrate cbr_128000 tty_portability_warning win_qextserialport win_commconfig baudrate cbr_256000 setcommconfig win_handle win_commconfig unlock_mutex void win qextserialport set dtr bool set lock mutex if port open if set escape comm function win handle setdtr else escape comm function win handle clrdtr unlock mutex win_qextserialport setdtr lock_mutex portopen escapecommfunction win_handle escapecommfunction win_handle unlock_mutex void win qextserialport set rts bool set lock mutex if port open if set escape comm function win handle setrts else escape comm function win handle clrrts unlock mutex win_qextserialport setrts lock_mutex portopen escapecommfunction win_handle escapecommfunction win_handle unlock_mutex unsigned long win qextserialport line status void unsigned long status 0 temp lock mutex if port open get comm modem status win handle temp if temp ms cts on status ls cts if temp ms dsr on status ls dsr if temp ms ring on status ls ri if temp ms rlsd on status ls dcd unlock mutex return status win_qextserialport linestatus lock_mutex portopen getcommmodemstatus win_handle ms_cts_on ls_cts ms_dsr_on ls_dsr ms_ring_on ls_ri ms_rlsd_on ls_dcd unlock_mutex int win qextserialport bytes waiting lock mutex if port open dword errors comstat status bool success clear comm error win handle errors status translate error errors if success last err e no error unlock mutex return status cb in que unlock mutex return unsigned int 1 unlock mutex return 0 win_qextserialport byteswaiting lock_mutex portopen clearcommerror win_handle translateerror lasterr e_no_error unlock_mutex cbinque unlock_mutex unlock_mutex void win qextserialport translate error unsigned long error if error ce break last err e break condition else if error ce frame last err e framing error else if error ce ioe last err e io error else if error ce mode last err e invalid fd else if error ce overrun last err e buffer overrun else if error ce rxparity last err e receive parity error else if error ce rxover last err e receive overflow else if error ce txfull last err e transmit overflow win_qextserialport translateerror ce_break lasterr e_break_condition ce_frame lasterr e_framing_error ce_ioe lasterr e_io_error ce_mode lasterr e_invalid_fd ce_overrun lasterr e_buffer_overrun ce_rxparity lasterr e_receive_parity_error ce_rxover lasterr e_receive_overflow ce_txfull lasterr e_transmit_overflow void win qextserialport set timeout unsigned long sec unsigned long millisec settings timeout sec sec settings timeout millisec millisec win commtimeouts read interval timeout sec 1000 millisec win commtimeouts read total timeout multiplier sec 1000 millisec win commtimeouts read total timeout constant 0 win commtimeouts write total timeout multiplier sec 1000 millisec win commtimeouts write total timeout constant 0 set comm timeouts win handle win commtimeouts win_qextserialport settimeout timeout_sec timeout_millisec win_commtimeouts readintervaltimeout win_commtimeouts readtotaltimeoutmultiplier win_commtimeouts readtotaltimeoutconstant win_commtimeouts writetotaltimeoutmultiplier win_commtimeouts writetotaltimeoutconstant setcommtimeouts win_handle win_commtimeouts void win qextserialport construct void qext serial base construct win handle invalid handle value set baud rate baud115200 set data bits data 8 set stop bits stop 1 set parity par none set flow control flow hardware set timeout 0 500 win_qextserialport qextserialbase win_handle invalid_handle_value setbaudrate setdatabits data_8 setstopbits stop_1 setparity par_none setflowcontrol flow_hardware settimeout qext serial port qext serial port operator const qext serial port s return qext serial port qext base type operator s qextserialport qextserialport qextserialport qextserialport qextbasetype posix qextserialport posix qextserialport qext serial base construct posix_qextserialport posix_qextserialport qextserialbase qext serial base s port name construct port open s port open last err s last err memcpy port name s port name sizeof port name settings flow control s settings flow control settings parity s settings parity settings data bits s settings data bits settings stop bits s settings stop bits settings baud rate s settings baud rate posix file s posix file memcpy posix timeout s posix timeout sizeof struct timeval memcpy posix copy timeout s posix copy timeout sizeof struct timeval memcpy posix commconfig s posix commconfig sizeof struct termios qextserialbase portname portopen portopen lasterr lasterr portname portname portname flowcontrol flowcontrol databits databits stopbits stopbits baudrate baudrate posix_file posix_file posix_timeout posix_timeout posix_copy_timeout posix_copy_timeout posix_commconfig posix_commconfig posix qextserialport posix qextserialport const char name qext serial base name construct posix_qextserialport posix_qextserialport qextserialbase qext serial base construct set baud rate settings baud rate set data bits settings data bits set stop bits settings stop bits set parity settings parity set flow control settings flow control set timeout settings timeout sec settings timeout millisec qextserialbase setbaudrate baudrate setdatabits databits setstopbits stopbits setparity setflowcontrol flowcontrol settimeout timeout_sec timeout_millisec qext serial base name construct set baud rate settings baud rate set data bits settings data bits set stop bits settings stop bits set parity settings parity set flow control settings flow control set timeout settings timeout sec settings timeout millisec qextserialbase setbaudrate baudrate setdatabits databits setstopbits stopbits setparity setflowcontrol flowcontrol settimeout timeout_sec timeout_millisec posix qextserialport posix qextserialport operator const posix qextserialport s port open s port open last err s last err memcpy port name s port name sizeof port name settings flow control s settings flow control settings parity s settings parity settings data bits s settings data bits settings stop bits s settings stop bits settings baud rate s settings baud rate posix file s posix file memcpy posix timeout s posix timeout sizeof struct timeval memcpy posix copy timeout s posix copy timeout sizeof struct timeval memcpy posix commconfig s posix commconfig sizeof struct termios return this posix_qextserialport posix_qextserialport posix_qextserialport portopen portopen lasterr lasterr portname portname portname flowcontrol flowcontrol databits databits stopbits stopbits baudrate baudrate posix_file posix_file posix_timeout posix_timeout posix_copy_timeout posix_copy_timeout posix_commconfig posix_commconfig posix qextserialport posix qextserialport if port open close posix file close delete posix file posix_qextserialport posix_qextserialport portopen posix_file posix_file bool posix qextserialport open int lock mutex if port open open the port posix file set name port name if posix file open io async io raw io readwrite port open true configure port settings tcgetattr posix file handle posix commconfig set up other port settings posix commconfig c cflag cread clocal posix commconfig c lflag icanon echo echoe echok echonl isig posix commconfig c iflag inpck ignpar parmrk istrip icrnl ixany posix commconfig c oflag opost posix commconfig c cc vmin 0 posix commconfig c cc vintr posix vdisable posix commconfig c cc vquit posix vdisable posix commconfig c cc vstart posix vdisable posix commconfig c cc vstop posix vdisable posix commconfig c cc vsusp posix vdisable set baud rate settings baud rate set data bits settings data bits set stop bits settings stop bits set parity settings parity set flow control settings flow control set timeout posix copy timeout tv sec posix copy timeout tv usec tcsetattr posix file handle tcsaflush posix commconfig unlock mutex return port open posix_qextserialport lock_mutex portopen posix_file setname portname posix_file io_async io_raw io_readwrite portopen posix_file posix_commconfig posix_commconfig c_cflag posix_commconfig c_lflag posix_commconfig c_iflag posix_commconfig c_oflag posix_commconfig c_cc posix_commconfig c_cc _posix_vdisable posix_commconfig c_cc _posix_vdisable posix_commconfig c_cc _posix_vdisable posix_commconfig c_cc _posix_vdisable posix_commconfig c_cc _posix_vdisable setbaudrate baudrate setdatabits databits setstopbits stopbits setparity setflowcontrol flowcontrol settimeout posix_copy_timeout tv_sec posix_copy_timeout tv_usec posix_file posix_commconfig unlock_mutex portopen void posix qextserialport close lock mutex posix file close port open false unlock mutex posix_qextserialport lock_mutex posix_file portopen unlock_mutex void posix qextserialport flush lock mutex if port open posix file flush unlock mutex posix_qextserialport lock_mutex portopen posix_file unlock_mutex int posix qextserialport getch lock mutex int ret val 1 if port open ret val posix file getch if ret val 1 last err e read failed unlock mutex return ret val posix_qextserialport lock_mutex retval portopen retval posix_file retval lasterr e_read_failed unlock_mutex retval int posix qextserialport putch int ch lock mutex int ret val 0 if port open ret val posix file putch ch if ret val 1 last err e write failed unlock mutex flush return ret val posix_qextserialport lock_mutex retval portopen retval posix_file retval lasterr e_write_failed unlock_mutex retval int posix qextserialport ungetch int meaningless on unbuffered sequential device return error and print a warning tty warning posix qextserialport ungetch called on an unbuffered sequential device operation is meaningless return 1 posix_qextserialport tty_warning posix_qextserialport void posix qextserialport set flow control flow type flow lock mutex if settings flow control flow settings flow control flow if port open switch flow no flow control case flow off posix commconfig c cflag crtscts posix commconfig c iflag ixon ixoff ixany tcsetattr posix file handle tcsaflush posix commconfig break software xon xoff flow control case flow xonxoff posix commconfig c cflag crtscts posix commconfig c iflag ixon ixoff ixany tcsetattr posix file handle tcsaflush posix commconfig break case flow hardware posix commconfig c cflag crtscts posix commconfig c iflag ixon ixoff ixany tcsetattr posix file handle tcsaflush posix commconfig break unlock mutex posix_qextserialport setflowcontrol flowtype lock_mutex flowcontrol flowcontrol portopen flow_off posix_commconfig c_cflag posix_commconfig c_iflag posix_file posix_commconfig flow_xonxoff posix_commconfig c_cflag posix_commconfig c_iflag posix_file posix_commconfig flow_hardware posix_commconfig c_cflag posix_commconfig c_iflag posix_file posix_commconfig unlock_mutex void posix qextserialport set parity parity type parity lock mutex if settings parity parity if parity par mark parity par space settings data bits data 8 else settings parity parity if port open switch parity space parity case par space if settings data bits data 8 tty portability warning posix qextserialport space parity is only supported in posix with 7 or fewer data bits else space parity not directly supported add an extra data bit to simulate it posix commconfig c cflag parenb csize switch settings data bits case data 5 settings data bits data 6 posix commconfig c cflag cs6 break case data 6 settings data bits data 7 posix commconfig c cflag cs7 break case data 7 settings data bits data 8 posix commconfig c cflag cs8 break case data 8 break tcsetattr posix file handle tcsaflush posix commconfig break mark parity windows only case par mark tty warning posix qextserialport mark parity is not supported by posix break no parity case par none posix commconfig c cflag parenb tcsetattr posix file handle tcsaflush posix commconfig break even parity case par even posix commconfig c cflag parodd posix commconfig c cflag parenb tcsetattr posix file handle tcsaflush posix commconfig break odd parity case par odd posix commconfig c cflag parenb parodd tcsetattr posix file handle tcsaflush posix commconfig break unlock mutex posix_qextserialport setparity paritytype lock_mutex par_mark par_space databits data_8 portopen par_space databits data_8 tty_portability_warning posix_qextserialport posix_commconfig c_cflag databits data_5 databits data_6 posix_commconfig c_cflag data_6 databits data_7 posix_commconfig c_cflag data_7 databits data_8 posix_commconfig c_cflag data_8 posix_file posix_commconfig par_mark tty_warning posix_qextserialport par_none posix_commconfig c_cflag posix_file posix_commconfig par_even posix_commconfig c_cflag posix_commconfig c_cflag posix_file posix_commconfig par_odd posix_commconfig c_cflag posix_file posix_commconfig unlock_mutex void posix qextserialport set data bits data bits type data bits lock mutex if settings data bits data bits if settings stop bits stop 2 data bits data 5 settings stop bits stop 1 5 data bits data 5 settings parity par space data bits data 8 else settings data bits data bits if port open switch data bits 5 data bits case data 5 if settings stop bits stop 2 tty warning posix qextserialport 5 data bits cannot be used with 2 stop bits else settings data bits data bits posix commconfig c cflag csize posix commconfig c cflag cs5 tcsetattr posix file handle tcsaflush posix commconfig break 6 data bits case data 6 if settings stop bits stop 1 5 tty warning posix qextserialport 6 data bits cannot be used with 1 5 stop bits else settings data bits data bits posix commconfig c cflag csize posix commconfig c cflag cs6 tcsetattr posix file handle tcsaflush posix commconfig break 7 data bits case data 7 if settings stop bits stop 1 5 tty warning posix qextserialport 7 data bits cannot be used with 1 5 stop bits else settings data bits data bits posix commconfig c cflag csize posix commconfig c cflag cs7 tcsetattr posix file handle tcsaflush posix commconfig break 8 data bits case data 8 if settings stop bits stop 1 5 tty warning posix qextserialport 8 data bits cannot be used with 1 5 stop bits else settings data bits data bits posix commconfig c cflag csize posix commconfig c cflag cs8 tcsetattr posix file handle tcsaflush posix commconfig break unlock mutex posix_qextserialport setdatabits databitstype databits lock_mutex databits databits stopbits stop_2 databits data_5 stopbits stop_1_5 databits data_5 par_space databits data_8 databits databits portopen databits data_5 stopbits stop_2 tty_warning posix_qextserialport databits databits posix_commconfig c_cflag posix_commconfig c_cflag posix_file posix_commconfig data_6 stopbits stop_1_5 tty_warning posix_qextserialport databits databits posix_commconfig c_cflag posix_commconfig c_cflag posix_file posix_commconfig data_7 stopbits stop_1_5 tty_warning posix_qextserialport databits databits posix_commconfig c_cflag posix_commconfig c_cflag posix_file posix_commconfig data_8 stopbits stop_1_5 tty_warning posix_qextserialport databits databits posix_commconfig c_cflag posix_commconfig c_cflag posix_file posix_commconfig unlock_mutex void posix qextserialport set stop bits stop bits type stop bits lock mutex if settings stop bits stop bits if settings data bits data 5 stop bits stop 2 stop bits stop 1 5 else settings stop bits stop bits if port open switch stop bits one stop bit case stop 1 settings stop bits stop bits posix commconfig c cflag cstopb tcsetattr posix file handle tcsaflush posix commconfig break 1 5 stop bits case stop 1 5 tty warning posix qextserialport 1 5 stop bit operation is not supported by posix break two stop bits case stop 2 if settings data bits data 5 tty warning posix qextserialport 2 stop bits cannot be used with 5 data bits else settings stop bits stop bits posix commconfig c cflag cstopb tcsetattr posix file handle tcsaflush posix commconfig break unlock mutex posix_qextserialport setstopbits stopbitstype stopbits lock_mutex stopbits stopbits databits data_5 stopbits stop_2 stopbits stop_1_5 stopbits stopbits portopen stopbits stop_1 stopbits stopbits posix_commconfig c_cflag posix_file posix_commconfig stop_1_5 tty_warning posix_qextserialport stop_2 databits data_5 tty_warning posix_qextserialport stopbits stopbits posix_commconfig c_cflag posix_file posix_commconfig unlock_mutex void posix qextserialport set baud rate baud rate type baud rate lock mutex if settings baud rate baud rate switch baud rate case baud14400 settings baud rate baud9600 break case baud56000 settings baud rate baud38400 break case baud76800 ifndef b76800 settings baud rate baud57600 else settings baud rate baud rate endif break case baud128000 case baud256000 settings baud rate baud115200 break default settings baud rate baud rate break if port open switch baud rate 50 baud case baud50 tty portability warning posix qextserialport portability warning windows does not support 50 baud operation ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b50 else cfsetispeed posix commconfig b50 cfsetospeed posix commconfig b50 endif break 75 baud case baud75 tty portability warning posix qextserialport portability warning windows does not support 75 baud operation ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b75 else cfsetispeed posix commconfig b75 cfsetospeed posix commconfig b75 endif break 110 baud case baud110 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b110 else cfsetispeed posix commconfig b110 cfsetospeed posix commconfig b110 endif break 134 5 baud case baud134 tty portability warning posix qextserialport portability warning windows does not support 134 5 baud operation ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b134 else cfsetispeed posix commconfig b134 cfsetospeed posix commconfig b134 endif break 150 baud case baud150 tty portability warning posix qextserialport portability warning windows does not support 150 baud operation ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b150 else cfsetispeed posix commconfig b150 cfsetospeed posix commconfig b150 endif break 200 baud case baud200 tty portability warning posix qextserialport portability warning windows does not support 200 baud operation ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b200 else cfsetispeed posix commconfig b200 cfsetospeed posix commconfig b200 endif break 300 baud case baud300 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b300 else cfsetispeed posix commconfig b300 cfsetospeed posix commconfig b300 endif break 600 baud case baud600 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b600 else cfsetispeed posix commconfig b600 cfsetospeed posix commconfig b600 endif break 1200 baud case baud1200 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b1200 else cfsetispeed posix commconfig b1200 cfsetospeed posix commconfig b1200 endif break 1800 baud case baud1800 tty portability warning posix qextserialport portability warning windows and irix do not support 1800 baud operation ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b1800 else cfsetispeed posix commconfig b1800 cfsetospeed posix commconfig b1800 endif break 2400 baud case baud2400 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b2400 else cfsetispeed posix commconfig b2400 cfsetospeed posix commconfig b2400 endif break 4800 baud case baud4800 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b4800 else cfsetispeed posix commconfig b4800 cfsetospeed posix commconfig b4800 endif break 9600 baud case baud9600 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b9600 else cfsetispeed posix commconfig b9600 cfsetospeed posix commconfig b9600 endif break 14400 baud case baud14400 tty warning posix qextserialport posix does not support 14400 baud operation switching to 9600 baud ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b9600 else cfsetispeed posix commconfig b9600 cfsetospeed posix commconfig b9600 endif break 19200 baud case baud19200 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b19200 else cfsetispeed posix commconfig b19200 cfsetospeed posix commconfig b19200 endif break 38400 baud case baud38400 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b38400 else cfsetispeed posix commconfig b38400 cfsetospeed posix commconfig b38400 endif break 56000 baud case baud56000 tty warning posix qextserialport posix does not support 56000 baud operation switching to 38400 baud ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b38400 else cfsetispeed posix commconfig b38400 cfsetospeed posix commconfig b38400 endif break 57600 baud case baud57600 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b57600 else cfsetispeed posix commconfig b57600 cfsetospeed posix commconfig b57600 endif break 76800 baud case baud76800 tty portability warning posix qextserialport portability warning windows and some posix systems do not support 76800 baud operation ifdef cbaud posix commconfig c cflag cbaud ifdef b76800 posix commconfig c cflag b76800 else tty warning posix qextserialport posix qextserialport was compiled without 76800 baud support switching to 57600 baud posix commconfig c cflag b57600 endif b76800 else cbaud ifdef b76800 cfsetispeed posix commconfig b76800 cfsetospeed posix commconfig b76800 else tty warning posix qextserialport posix qextserialport was compiled without 76800 baud support switching to 57600 baud cfsetispeed posix commconfig b57600 cfsetospeed posix commconfig b57600 endif b76800 endif cbaud break 115200 baud case baud115200 ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b115200 else cfsetispeed posix commconfig b115200 cfsetospeed posix commconfig b115200 endif break 128000 baud case baud128000 tty warning posix qextserialport posix does not support 128000 baud operation switching to 115200 baud ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b115200 else cfsetispeed posix commconfig b115200 cfsetospeed posix commconfig b115200 endif break 256000 baud case baud256000 tty warning posix qextserialport posix does not support 256000 baud operation switching to 115200 baud ifdef cbaud posix commconfig c cflag cbaud posix commconfig c cflag b115200 else cfsetispeed posix commconfig b115200 cfsetospeed posix commconfig b115200 endif break tcsetattr posix file handle tcsaflush posix commconfig unlock mutex posix_qextserialport setbaudrate baudratetype baudrate lock_mutex baudrate baudrate baudrate baudrate baudrate baudrate baudrate baudrate baudrate baudrate baudrate portopen baudrate tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_portability_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag tty_warning posix_qextserialport posix_qextserialport posix_commconfig c_cflag posix_commconfig posix_commconfig tty_warning posix_qextserialport posix_qextserialport posix_commconfig posix_commconfig posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig tty_warning posix_qextserialport posix_commconfig c_cflag posix_commconfig c_cflag posix_commconfig posix_commconfig posix_file posix_commconfig unlock_mutex lock mutex if port open int status ioctl posix file handle tiocmget status if set status tiocm dtr else status tiocm dtr ioctl posix file handle tiocmset status unlock mutex lock_mutex portopen posix_file tiocm_dtr tiocm_dtr posix_file unlock_mutex lock mutex if port open int status ioctl posix file handle tiocmget status if set status tiocm rts else status tiocm rts ioctl posix file handle tiocmset status unlock mutex lock_mutex portopen posix_file tiocm_rts tiocm_rts posix_file unlock_mutex unsigned long posix qextserialport line status void unsigned long status 0 temp lock mutex if port open ioctl posix file handle tiocmget temp if temp tiocm cts status ls cts if temp tiocm dsr status ls dsr if temp tiocm ri status ls ri if temp tiocm cd status ls dcd if temp tiocm dtr status ls dtr if temp tiocm rts status ls rts if temp tiocm st status ls st if temp tiocm sr status ls sr unlock mutex return status posix_qextserialport linestatus lock_mutex portopen posix_file tiocm_cts ls_cts tiocm_dsr ls_dsr tiocm_ri ls_ri tiocm_cd ls_dcd tiocm_dtr ls_dtr tiocm_rts ls_rts tiocm_st ls_st tiocm_sr ls_sr unlock_mutex int posix qextserialport bytes waiting lock mutex if port open int bytes queued fd set file set fd zero file set fd set posix file handle file set on linux systems the posix timeout structure will be altered by the select call make sure we use the right timeout values memcpy posix timeout posix copy timeout sizeof struct timeval int n select posix file handle 1 file set null file set posix timeout if n last err e port timeout unlock mutex return 1 if n 1 ioctl posix file handle fionread bytes queued 1 translate error errno unlock mutex return 1 last err e no error unlock mutex return bytes queued unlock mutex return 0 posix_qextserialport byteswaiting lock_mutex portopen bytesqueued fd_set fileset fd_zero fileset fd_set posix_file fileset posix_timeout posix_timeout posix_copy_timeout posix_file fileset fileset posix_timeout lasterr e_port_timeout unlock_mutex posix_file bytesqueued translateerror unlock_mutex lasterr e_no_error unlock_mutex bytesqueued unlock_mutex void posix qextserialport translate error unsigned long error switch error case ebadf case enotty last err e invalid fd break case eintr last err e caught non blocked signal break case enomem last err e no memory break posix_qextserialport translateerror lasterr e_invalid_fd lasterr e_caught_non_blocked_signal lasterr e_no_memory void posix qextserialport set timeout unsigned long sec unsigned long millisec settings timeout sec sec settings timeout millisec millisec posix copy timeout tv sec sec posix copy timeout tv usec millisec tcgetattr posix file handle posix commconfig posix commconfig c cc vtime sec 10 millisec 100 if port open tcsetattr posix file handle tcsaflush posix commconfig posix_qextserialport settimeout timeout_sec timeout_millisec posix_copy_timeout tv_sec posix_copy_timeout tv_usec posix_file posix_commconfig posix_commconfig c_cc portopen posix_file posix_commconfig