All pastes #564656 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-06-13 18:01 UTC
rendered paste body
Application::IWindowPrx DesktopImpl::createWindow(const Ice::Current& cur) {
	std::cout << std::endl << "DEBUG -- BEGIN -- in createWindow() ..." << std::endl;
	
	WindowImpl *w = new WindowImpl();
	Ice::Identity myID;
	myID.name = IceUtil::generateUUID();
	
	objectAdapterPtr->add(w, myID);//ic->stringToIdentity("blabla"));
	objectAdapterPtr->activate();
	
	Ice::ObjectPrx base2 = Ice::ObjectPrx::uncheckedCast(objectAdapterPtr->createProxy(myID));//ic->stringToProxy("blabla:default -h 127.0.0.1 -p 3434");
	w->window = X12::Application::IWindowPrx::checkedCast(base2);
	//X12::Application::IWindowPrx appIWindow = iWindowPrxV.back();
	std::cout << "windowprx: " << w->window << std::endl;
	try {
		// store in list, honestly i dont know what we are doing here lg c	
		windowList.push_back(w);
		windowIDMap.insert( std::make_pair((long int) w, w) );
		// this adds an identity with an Window, if we need a list or map, implement it!
		std::cout << "--> DEBUG -- adding ID \"" << cur.id.name << "\" with Window " << windowList.size() << std::endl; 
	}
	catch(const std::exception& e) { // Alle C++-Exc.-Klassen erben von exception
		std::cout << "DEBUG -- creating Window -- FAILED" << std::endl;
  		std::cout << e.what() << std::endl;
	} 
	for ( int i = 0; i < windowList.size(); i++)
	{
		std::cout << "inlist: " << i << " is: " << (windowList.at(i))->window << std::endl;
	}
	std::cout << "DEBUG -- END -- creating Window -- SUCCESS" << std::endl;
	return w->window;
}



Display::IDesktopPrx DesktopImpl::registerDisplay(const Display::IDisplayPrx& x, const Ice::Current& cur) {
	std::cout << std::endl << "DEBUG -- BEGIN -- in registerDisplay() ... " << std::endl;
	
	//Display::IDesktopPrx dispIDesktop;
		// store in List,  honestly i dont know what we are doing here lg c
		// debug for all reading this
		// wir erstellen ein neues objekt DisplayImpl
		// dem construktor übergeben wir den Display Proxy ( wird intern gespeichert ).
	DisplayImpl *d = new DisplayImpl(x);

	objectAdapterPtr->add(d, ic->stringToIdentity("trara"));
	objectAdapterPtr->activate();
	
	try {

		//  speichern des displays in der displayListe ( als pointer )
		displayList.push_back(d);
		// wir speichern den gleichen pointer auch in eine map und casten den pointer in einen int long
		// den wir später als id benutzen
		// damit können wir über die id abfragen ob das display noch existiert oder nicht
		// bzw. wenn wir eines löschen den pointer auf null setzen - diese null können wir abfragen.
		// wenn wir nur das objekt löschen könnte es sein, dass wir auf ein zerstörtes objekt zugreifen
		// die map liste exisitert länger als die objekte selbst
		displayIDMap.insert( std::make_pair((long int) d, d) );
		// this adds an identity with a Display, if we need a list or map, implement it!
		std::cout << "--> DEBUG -- adding ID \"" << cur.id.name << "\" with Display " << displayList.size() << std::endl;
		
	}
	catch(const std::exception& e) { // Alle C++-Exc.-Klassen erben von exception
		std::cout << "DEBUG -- creating Window -- FAILED" << std::endl;
  		std::cout << e.what() << std::endl;
	} 
	std::cout << "DEBUG -- END -- registering Display -- SUCCESS" << std::endl;
	Ice::ObjectPrx base2 = ic->stringToProxy("trara:default -h 127.0.0.1 -p 3434");
	return X12::Display::IDesktopPrx::checkedCast(base2);
	//return _desktopProxy;
}