int run(const Ice::CommunicatorPtr& communicator, const string& envName, const string& dbName) { Ice::ObjectFactoryPtr factory = new Factory; communicator->addObjectFactory(factory, ""); Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter(""); Freeze::EvictorPtr evictor = Freeze::createEvictor(adapter, envName, dbName); for(int i = 0; i < 10; ++i) { string facetName = "theFacet"; Ice::Identity id; ostringstream ostr; ostr << "mainObject" << i; id.name = ostr.str(); if((i % 2) == 0) { MainObjectPtr obj = new MainObjectI; obj->boolToString = true; obj->byteToShort = 0; obj->shortToByte = 255; obj->intToShort = 32767; obj->longToInt = 2147483647; obj->floatToString = 4567.8f; obj->doubleToFloat = 8765.4; obj->stringToEnum = "E1"; obj->renamed = E2; evictor->add(obj, id); FacetObjectPtr facet = new FacetObjectI; facet->doubleToString = 901234.5; evictor->addFacet(facet, id, facetName); } else { DerivedMainObjectPtr obj = new DerivedMainObjectI; obj->boolToString = false; obj->byteToShort = 0; obj->shortToByte = -1; obj->intToShort = -32768; obj->longToInt = -2147483647 - 1; obj->floatToString = -4567.8f; obj->doubleToFloat = -8765.4; obj->stringToEnum = "E3"; obj->renamed = E1; obj->name = id.name; evictor->add(obj, id); DerivedFacetObjectPtr facet = new DerivedFacetObjectI; facet->doubleToString = -901234.5; facet->count = i; evictor->addFacet(facet, id, facetName); } } evictor->deactivate(""); return EXIT_SUCCESS; }