Changeset 31966 in vbox for trunk/src/VBox/Debugger/DBGCCmdHlp.cpp
- Timestamp:
- Aug 25, 2010 4:15:25 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 65199
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Debugger/DBGCCmdHlp.cpp
r31530 r31966 792 792 793 793 /** 794 * @interface_method_impl{DBGCCMDHLP,pfnVarGetRange} 795 */ 796 static DECLCALLBACK(int) dbgcHlpVarGetRange(PDBGCCMDHLP pCmdHlp, PCDBGCVAR pVar, uint64_t cbElement, uint64_t cbDefault, 797 uint64_t *pcbRange) 798 { 799 /** @todo implement this properly, strings/symbols are not resolved now. */ 800 switch (pVar->enmRangeType) 801 { 802 default: 803 case DBGCVAR_RANGE_NONE: 804 *pcbRange = cbDefault; 805 break; 806 case DBGCVAR_RANGE_BYTES: 807 *pcbRange = pVar->u64Range; 808 break; 809 case DBGCVAR_RANGE_ELEMENTS: 810 *pcbRange = pVar->u64Range * cbElement; 811 break; 812 } 813 return VINF_SUCCESS; 814 } 815 816 817 /** 818 * Info helper callback wrapper - print formatted string. 819 * 820 * @param pHlp Pointer to this structure. 821 * @param pszFormat The format string. 822 * @param ... Arguments. 823 */ 824 static DECLCALLBACK(void) dbgcHlpGetDbgfOutputHlp_Printf(PCDBGFINFOHLP pHlp, const char *pszFormat, ...) 825 { 826 PDBGC pDbgc = RT_FROM_MEMBER(pHlp, DBGC, DbgfOutputHlp); 827 va_list va; 828 va_start(va, pszFormat); 829 pDbgc->CmdHlp.pfnPrintfV(&pDbgc->CmdHlp, NULL, pszFormat, va); 830 va_end(va); 831 } 832 833 834 /** 835 * Info helper callback wrapper - print formatted string. 836 * 837 * @param pHlp Pointer to this structure. 838 * @param pszFormat The format string. 839 * @param args Argument list. 840 */ 841 static DECLCALLBACK(void) dbgcHlpGetDbgfOutputHlp_PrintfV(PCDBGFINFOHLP pHlp, const char *pszFormat, va_list args) 842 { 843 PDBGC pDbgc = RT_FROM_MEMBER(pHlp, DBGC, DbgfOutputHlp); 844 pDbgc->CmdHlp.pfnPrintfV(&pDbgc->CmdHlp, NULL, pszFormat, args); 845 } 846 847 848 /** 849 * @interface_method_impl{DBGCCMDHLP,pfnGetDbgfOutputHlp} 850 */ 851 static DECLCALLBACK(PCDBGFINFOHLP) dbgcHlpGetDbgfOutputHlp(PDBGCCMDHLP pCmdHlp) 852 { 853 PDBGC pDbgc = DBGC_CMDHLP2DBGC(pCmdHlp); 854 855 /* Lazy init */ 856 if (!pDbgc->DbgfOutputHlp.pfnPrintf) 857 { 858 pDbgc->DbgfOutputHlp.pfnPrintf = dbgcHlpGetDbgfOutputHlp_Printf; 859 pDbgc->DbgfOutputHlp.pfnPrintfV = dbgcHlpGetDbgfOutputHlp_PrintfV; 860 } 861 862 return &pDbgc->DbgfOutputHlp; 863 } 864 865 866 /** 794 867 * Initializes the Command Helpers for a DBGC instance. 795 868 * … … 798 871 void dbgcInitCmdHlp(PDBGC pDbgc) 799 872 { 800 pDbgc->CmdHlp.pfnWrite = dbgcHlpWrite; 801 pDbgc->CmdHlp.pfnPrintfV = dbgcHlpPrintfV; 802 pDbgc->CmdHlp.pfnPrintf = dbgcHlpPrintf; 803 pDbgc->CmdHlp.pfnVBoxErrorV = dbgcHlpVBoxErrorV; 804 pDbgc->CmdHlp.pfnVBoxError = dbgcHlpVBoxError; 805 pDbgc->CmdHlp.pfnMemRead = dbgcHlpMemRead; 806 pDbgc->CmdHlp.pfnMemWrite = dbgcHlpMemWrite; 807 pDbgc->CmdHlp.pfnEvalV = dbgcHlpEvalV; 808 pDbgc->CmdHlp.pfnExec = dbgcHlpExec; 809 pDbgc->CmdHlp.pfnFailV = dbgcHlpFailV; 810 pDbgc->CmdHlp.pfnVarToDbgfAddr = dbgcHlpVarToDbgfAddr; 811 pDbgc->CmdHlp.pfnVarToBool = dbgcHlpVarToBool; 812 } 813 873 pDbgc->CmdHlp.pfnWrite = dbgcHlpWrite; 874 pDbgc->CmdHlp.pfnPrintfV = dbgcHlpPrintfV; 875 pDbgc->CmdHlp.pfnPrintf = dbgcHlpPrintf; 876 pDbgc->CmdHlp.pfnVBoxErrorV = dbgcHlpVBoxErrorV; 877 pDbgc->CmdHlp.pfnVBoxError = dbgcHlpVBoxError; 878 pDbgc->CmdHlp.pfnMemRead = dbgcHlpMemRead; 879 pDbgc->CmdHlp.pfnMemWrite = dbgcHlpMemWrite; 880 pDbgc->CmdHlp.pfnEvalV = dbgcHlpEvalV; 881 pDbgc->CmdHlp.pfnExec = dbgcHlpExec; 882 pDbgc->CmdHlp.pfnFailV = dbgcHlpFailV; 883 pDbgc->CmdHlp.pfnVarToDbgfAddr = dbgcHlpVarToDbgfAddr; 884 pDbgc->CmdHlp.pfnVarToBool = dbgcHlpVarToBool; 885 pDbgc->CmdHlp.pfnVarGetRange = dbgcHlpVarGetRange; 886 pDbgc->CmdHlp.pfnGetDbgfOutputHlp = dbgcHlpGetDbgfOutputHlp; 887 } 888
Note:
See TracChangeset
for help on using the changeset viewer.