VirtualBox

Ignore:
Timestamp:
Feb 5, 2009 4:08:49 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
42461
Message:

Main: rework error macros everywhere; make error messages much more readable (esp. with VBoxManage); use shared function to actually print message; reduces size of VBoxManage debug build from 3.4 to 2.3 MB

Location:
trunk/src/VBox/Frontends/VBoxHeadless
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp

    r16152 r16530  
    2525#include <VBox/com/Guid.h>
    2626#include <VBox/com/ErrorInfo.h>
     27#include <VBox/com/errorprint2.h>
    2728#include <VBox/com/EventQueue.h>
    2829
     
    617618
    618619    rc = com::Initialize();
    619     if (FAILED (rc))
     620    if (FAILED(rc))
     621    {
     622        RTPrintf("ERROR: failed to initialize COM!\n");
    620623        return rc;
     624    }
    621625
    622626    do
    623627    {
    624         ComPtr <IVirtualBox> virtualBox;
    625         ComPtr <ISession> session;
    626 
    627         /* create VirtualBox object */
    628         rc = virtualBox.createLocalObject (CLSID_VirtualBox);
    629         if (FAILED (rc))
     628        ComPtr<IVirtualBox> virtualBox;
     629        ComPtr<ISession> session;
     630
     631        rc = virtualBox.createLocalObject(CLSID_VirtualBox);
     632        if (FAILED(rc))
     633            RTPrintf("ERROR: failed to create the VirtualBox object!\n");
     634        else
     635        {
     636            rc = session.createInprocObject(CLSID_Session);
     637            if (FAILED(rc))
     638                RTPrintf("ERROR: failed to create a session object!\n");
     639        }
     640
     641        if (FAILED(rc))
    630642        {
    631643            com::ErrorInfo info;
    632             if (info.isFullAvailable())
    633             {
    634                 RTPrintf("Failed to create VirtualBox object! Error info: '%lS' (component %lS).\n",
    635                          info.getText().raw(), info.getComponent().raw());
     644            if (!info.isFullAvailable() && !info.isBasicAvailable())
     645            {
     646                com::GluePrintRCMessage(rc);
     647                RTPrintf("Most likely, the VirtualBox COM server is not running or failed to start.\n");
    636648            }
    637649            else
    638                 RTPrintf("Failed to create VirtualBox object! No error information available (rc = 0x%x).\n", rc);
    639             break;
    640         }
    641 
    642         /* create Session object */
    643         rc = session.createInprocObject (CLSID_Session);
    644         if (FAILED (rc))
    645         {
    646             LogError ("Cannot create Session object!", rc);
     650                GluePrintErrorInfo(info);
    647651            break;
    648652        }
  • trunk/src/VBox/Frontends/VBoxHeadless/testcase/tstHeadless.cpp

    r14831 r16530  
    2525#include <VBox/com/Guid.h>
    2626#include <VBox/com/ErrorInfo.h>
     27#include <VBox/com/errorprint_legacy.h>
    2728#include <VBox/com/EventQueue.h>
    2829
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette