コード例 #1
0
std::string RemoteDevice::printExceptionMessage(
	CORBA::SystemException& ex, std::string location) const
{
	std::stringstream error;

	string device_name = getDevice().deviceName;

//--------------------------- Remote Device Exception ---------------------------
//>>> Caught CORBA::TRANSIENT when contacting device 'RAM_Controller'.
//>>> Device ID: (RAM_Controller, ep-timing1.stanford.edu, Module 0)
//-------------------------------------------------------------------------------

	error << "--------------------------- Remote Device Exception ---------------------------"
		<< endl
		<< ">>> Caught CORBA::" << ex._name() << " when contacting device '"
		<< device_name << "'." << endl
		<< ">>> Device ID: (" << device_name << ", " << getDevice().address << ", Module " 
		<< getDevice().moduleNum << ")" << endl
		<<   "-------------------------------------------------------------------------------"
		<< endl << endl;
	
	//error << "Caught CORBA::" << ex._name() 
	//	<< " when contacting device '"
	//	<< device_name << "' (" 
	//	<< getDevice().address << ", Module " 
	//	<< getDevice().moduleNum << ")" << endl;
	//error << "    Location: " << location << endl;
	return error.str();
}
コード例 #2
0
//-----------------------------------------------------------------------------//
std::string CCorbaErrorHelper::ToString(const CORBA::SystemException& err)
{
	std::string errDescription;
	TCHAR buf[50];
	memset(buf, 0, sizeof(TCHAR) * 50);
	
	CORBA::Any tmp;
	tmp <<= err;
	CORBA::TypeCode_var tc = tmp.type();

	errDescription = std::string(tc->name()) + _T(" Description: ") + err.NP_minorString();
	errDescription += _T(" Minor code: ");
	errDescription += _ltoa_s(err.minor(), buf, 50, 10);

	return errDescription;
}
コード例 #3
0
ファイル: etrans.hpp プロジェクト: BackupTheBerlios/v-q-svn
inline void et_CORBA_SystemException( const CORBA::SystemException & e ) {
	std::ostringstream os;
	os<<"CORBA system exception: ";
#if defined(MICO_VERSION)
	e._print(os);
#elif defined(OMNIORB_DIST_DATE)
	os<<"minor: "<<e.NP_minorString()<<"; completed: ";
	switch(e.completed()) {
	case CORBA::COMPLETED_YES: os<<"YES"; break;
	case CORBA::COMPLETED_NO: os<<"NO"; break;
	default: os<<"MAYBE";
	}
#else
	os<<"minor: "<<e.minor()<<"; completed: ";
	switch(e.completed()) {
	case CORBA::COMPLETED_YES: os<<"YES"; break;
	case CORBA::COMPLETED_NO: os<<"NO"; break;
	default: os<<"MAYBE";
	}
#endif
	BOOST_ERROR(os.str());
}
コード例 #4
0
ファイル: client_test.cpp プロジェクト: hajuli/test_codes
int main()
{
	printf("start...\n");
	int a = 2;
	time_t sta_sec;
	sta_sec = time (NULL);
	printf("start:%d\n", sta_sec);
	Base_Bus::AccessCorbaDef_Impl obj(5555, "my_client_obj");
	CORBA::ORB& o = obj.getOrb();

	CORBA::String_var objToString((o.object_to_string((CORBA::Object *)&obj)) );
    printf("ObjectToString: %s\n", objToString.in() );
	
	printf("string_to_object bgn\n");
	CORBA::Object_var tmpVar = o.string_to_object("corbaloc::192.168.253.124:6000/my_first_obj");

	printf("string_to_object ok\n");

	CORBA::String_var objToString2((o.object_to_string(tmpVar)) );
    printf("ObjectToString2: %s\n", objToString2.in() );

    //omniORB::setClientCallTimeout(tmpVar, 20000);
	try
	{
		Base_Bus::IAccessCorbaDef_var objRep = Base_Bus::IAccessCorbaDef::_narrow(tmpVar);

		if ( !CORBA::is_nil(objRep) )
		{
			objRep->SetATestValue(Base_Bus::CorbaTypes::HighAlarm);
			objRep->SetATestValue(Base_Bus::CorbaTypes::OverScaleHighAlarm);
			objRep->SetATestValue(Base_Bus::CorbaTypes::GeneralAlarm);

			char s[1024];
			while (scanf("%s", &s))
			{
				if (s[0] == 'e')
					break;
				objRep->sendStringToSvt(s);
			}
		}
		CORBA::release(objRep);
	}
	catch( const CORBA::Exception& ex )
    {
		CORBA::SystemException* sysEx = CORBA::SystemException::_downcast((CORBA::SystemException *)&ex );
        if (sysEx == NULL)
        {
            throw 0;
        }
		const char* buf = sysEx->NP_minorString();
		if ( NULL != buf )
		{
			printf("[CL-21230] Caught COBAException: %s\n", buf);
		}

    }
    catch( ... )
    {
        
    }
	time_t end_sec;
	end_sec = time (NULL);
	printf("end_sec - sta_sec = %ds\n", end_sec - sta_sec);

	printf("end.\n");
	char c;
	while (scanf("%c", &c))
	{
		break;
	}
	return 0;
}
コード例 #5
0
ファイル: CorbaUtil.cpp プロジェクト: s-nakaoka/choreonoid
void NamingContextHelper::putExceptionMessage(CORBA::SystemException& ex)
{
    os() << format("CORBA {0} ({1}), {2}.", ex._name(), ex._rep_id(), ex.NP_minorString()) << endl;
}
コード例 #6
0
ファイル: CorbaUtil.cpp プロジェクト: kindsenior/choreonoid
void NamingContextHelper::putExceptionMessage(CORBA::SystemException& ex)
{
    os() << format("CORBA %1% (%2%), %3%.") %  ex._name() % ex._rep_id() % ex.NP_minorString() << endl;
}