Exemple #1
0
// Handle single token
void handleToken() {
    // Add NULL to end of token to make it a string
    buffer[bufferLength] = '\0';

    // Check if it is operator or number
    if(strpbrk(buffer, "+-*/") != NULL && strlen(buffer) == 1) {
        // Operator
        performOp(&rpnCalc, *buffer);
    }
    else {
        // Number. Convert string to double, and push
        push(&rpnCalc, atof(buffer));
    }

    // Reset buffer
    bufferLength = 0;
}
Ice::StringSeq 
IceGridManager::getAllAdapterIds()
{
    class GetApplicationInfoOp : public Operation {
    public:
        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { adapterIds_ = iceGridAdmin->getAllAdapterIds(); }
        
        virtual std::string toString() const { return "getAllAdapterIds"; }

        Ice::StringSeq adapterIds_;
    };

    GetApplicationInfoOp op;
    performOp( op, -1 );
    return op.adapterIds_;
}
void 
IceGridManager::removeAdapter( const std::string& adapterId )
{
    class RemoveObjectOp : public Operation {
    public:
        RemoveObjectOp( const std::string& id ) :
            adapterId_(id) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { iceGridAdmin->removeAdapter( adapterId_ ); }
        
        virtual std::string toString() const { return "removeAdapter"; }

        std::string adapterId_;
    };

    RemoveObjectOp op(adapterId);
    performOp( op, -1 );
}
void 
IceGridManager::removeApplication( const std::string &appName, int timeoutMs )
{
    class RemoveApplicationOp : public Operation {
    public:
        RemoveApplicationOp( std::string appName ) :
            appName_(appName) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { iceGridAdmin->removeApplication( appName_ ); }
        
        virtual std::string toString() const { return "removeApplication( "+appName_+")"; }

        std::string appName_;
    };

    RemoveApplicationOp op(appName);
    performOp( op, timeoutMs );
}
void 
IceGridManager::removeObject( const Ice::Identity& objectId )
{
    class RemoveObjectOp : public Operation {
    public:
        RemoveObjectOp( const Ice::Identity& id ) :
            objecId_(id) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { iceGridAdmin->removeObject( objecId_ ); }
        
        virtual std::string toString() const { return "removeObject"; }

        Ice::Identity objecId_;
    };

    RemoveObjectOp op(objectId);
    performOp( op, -1 );
}
void 
IceGridManager::updateApplication( IceGrid::ApplicationUpdateDescriptor descriptor, int timeoutMs )
{
    class UpdateApplicationOp : public Operation {
    public:
        UpdateApplicationOp( IceGrid::ApplicationUpdateDescriptor descriptor ) :
            descriptor_(descriptor) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { iceGridAdmin->updateApplication( descriptor_ ); }
        
        virtual std::string toString() const { return "updateApplication ("+descriptor_.name+")"; }

        IceGrid::ApplicationUpdateDescriptor descriptor_;
    };

    UpdateApplicationOp op(descriptor);
    performOp( op, timeoutMs );
}
void 
IceGridManager::stopServer( const std::string &serverId, int timeoutMs )
{
    class StopServerOp : public Operation {
    public:
        StopServerOp( std::string serverId ) :
            serverId_(serverId) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { iceGridAdmin->stopServer( serverId_ ); }
        
        virtual std::string toString() const { return string("stopServer(")+serverId_+")"; }

        std::string serverId_;
    };

    StopServerOp op(serverId);
    performOp( op, timeoutMs );
}
void 
IceGridManager::patchApplication( const std::string &appName, bool shutdown, int timeoutMs )
{
    class PatchApplicationOp : public Operation {
    public:
        PatchApplicationOp( std::string appName, bool shutdown ) :
            appName_(appName), shutdown_(shutdown) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { iceGridAdmin->patchApplication( appName_, shutdown_ ); }
        
        virtual std::string toString() const { return "patchApplication( "+appName_+")"; }

        std::string appName_;
        bool shutdown_;
    };

    PatchApplicationOp op(appName, shutdown);
    performOp( op, timeoutMs );
}
IceGrid::ApplicationInfo 
IceGridManager::getApplicationInfo( const std::string &appName, int timeoutMs )
{
    class GetApplicationInfoOp : public Operation {
    public:
        GetApplicationInfoOp( std::string appName ) :
            appName_(appName) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            { appInfo_ = iceGridAdmin->getApplicationInfo( appName_ ); }
        
        virtual std::string toString() const { return "getApplicationInfo"; }

        std::string appName_;
        IceGrid::ApplicationInfo appInfo_;
    };

    GetApplicationInfoOp op(appName);
    performOp( op, timeoutMs );
    return op.appInfo_;
}
IceGrid::ServerState 
IceGridManager::getServerState( const std::string &serverId, int timeoutMs )
{
    class GetServerStateOp : public Operation {
    public:
        GetServerStateOp( std::string serverId ) :
            serverId_(serverId) {};

        virtual void perform( IceGrid::AdminPrx &iceGridAdmin )
            {
                serverState_ = iceGridAdmin->getServerState( serverId_ );
            }
        
        virtual std::string toString() const { return string("getServerState(")+serverId_+")"; }

        std::string serverId_;
        IceGrid::ServerState serverState_;
    };

    GetServerStateOp op(serverId);
    performOp( op, timeoutMs );
    return op.serverState_;
}