Пример #1
0
DFBResult
DaleDFB::initDale(int* argc, char*** argv)
{
    ILOG_TRACE_F(ILX_DALEDFB);
    DirectResult ret = FusionDaleInit(argc, argv);
    if (ret)
    {
        ILOG_THROW(ILX_DALEDFB, "FusionDaleInit() failed!\n");
        return (DFBResult) ret;
    }

    if (!__dale)
    {
        DirectResult ret = FusionDaleCreate(&__dale);
        if (ret)
        {
            ILOG_THROW(ILX_DALEDFB, "FusionDaleCreate() failed!\n");
            return (DFBResult) ret;
        }
    }

    if (!__coma)
    {
        DirectResult ret = __dale->EnterComa(__dale, "directfb.org", &__coma);
        if (ret)
        {
            ILOG_THROW( ILX_DALEDFB, "IFusionDale::EnterComa('directfb.org') failed!\n");
            return (DFBResult) ret;
        }
    }
    return DFB_OK;
}
Пример #2
0
int
main( int argc, char *argv[] )
{
     DirectResult   ret;
     IFusionDale      *dale;
     IComa            *coma;
     IComaComponent   *tuner;

     ret = FusionDaleInit( &argc, &argv );
     if (ret) {
          D_DERROR( ret, "FusionDaleInit() failed!\n" );
          return -1;
     }

     ret = FusionDaleCreate( &dale );
     if (ret) {
          D_DERROR( ret, "FusionDaleCreate() failed!\n" );
          return -2;
     }

     ret = dale->EnterComa( dale, "AV Platform", &coma );
     if (ret) {
          D_DERROR( ret, "IFusionDale::EnterComa('AV Platform') failed!\n" );
          return -1;
     }

     ret = coma->GetComponent( coma, "Tuner", 7000, &tuner );
     if (ret) {
          D_DERROR( ret, "IComa::GetComponent('Tuner') failed!\n" );
          return -2;
     }

     ret = tuner->Listen( tuner, AV_TUNER_ONSTATIONFOUND, OnStationFound, NULL );
     if (ret)
          D_DERROR( ret, "IComaComponent::Listen( 'AV_TUNER_ONSTATIONFOUND' ) failed!\n" );

     ret = tuner->Listen( tuner, AV_TUNER_ONSTATIONLOST, OnStationLost, NULL );
     if (ret)
          D_DERROR( ret, "IComaComponent::Listen( 'AV_TUNER_ONSTATIONLOST' ) failed!\n" );

     pause();

     tuner->Release( tuner );
     coma->Release( coma );
     dale->Release( dale );

     return 0;
}
Пример #3
0
int
main( int argc, char *argv[] )
{
     DirectResult  ret;
     IFusionDale  *dale;

     ret = FusionDaleInit( &argc, &argv );
     if (ret)
          FusionDaleErrorFatal( "FusionDaleInit", ret );

     ret = FusionDaleCreate( &dale );
     if (ret)
          FusionDaleErrorFatal( "FusionDaleCreate", ret );

     pause();

     dale->Release( dale );

     return 0;
}
Пример #4
0
int
main( int argc, char *argv[] )
{
     IFusionDale           *dale;
     IFusionDaleMessenger  *messenger;
     FDMessengerEventID     event_id;
     FDMessengerListenerID  listener_id;
     void                  *data;

     CHECK( FusionDaleInit( &argc, &argv ) );

     CHECK( FusionDaleCreate( &dale ) );

     CHECK( dale->CreateMessenger( dale, &messenger ) );


     CHECK( messenger->RegisterEvent( messenger, "Data Event", &event_id ) );

     CHECK( messenger->RegisterListener( messenger, event_id, EventCallback, NULL, &listener_id ) );


     CHECK( messenger->AllocateData( messenger, 200, &data ) );

     CHECK( messenger->SendEvent( messenger, event_id, 23, data, 200 ) );


     sleep(1);


     CHECK( messenger->UnregisterEvent( messenger, event_id ) );

     messenger->Release( messenger );
     dale->Release( dale );

     return 0;
}
Пример #5
0
int
main( int argc, char *argv[] )
{
    DirectResult  ret;
    AVTuner       tuner;
    IFusionDale  *dale;

    //dfb_config_init( &argc, &argv );

    ret = FusionDaleInit( &argc, &argv );
    if (ret) {
        D_DERROR( ret, "FusionDaleInit() failed!\n" );
        return -1;
    }

    ret = FusionDaleCreate( &dale );
    if (ret) {
        D_DERROR( ret, "FusionDaleCreate() failed!\n" );
        return -2;
    }

    ret = dale->EnterComa( dale, "AV Platform", &coma );
    if (ret) {
        D_DERROR( ret, "IFusionDale::EnterComa('AV Platform') failed!\n" );
        return -3;
    }


    ret = coma->CreateComponent( coma, "Tuner", AVTunerMethodFunc,
                                 _AV_TUNER_NUM_NOTIFICATIONS,
                                 &tuner, &tuner.component );
    if (ret) {
        D_DERROR( ret, "IComa::CreateComponent('Tuner') failed!\n" );
        return -4;
    }


    ret = tuner.component->InitNotification( tuner.component, AV_TUNER_ONSTATIONFOUND,
            AVTunerOnStationFoundDispatchCallback, &tuner, CNF_DEALLOC_ARG );
    if (ret) {
        D_DERROR( ret, "IComaComponent::InitNotification(AV_TUNER_ONSTATIONFOUND) failed!\n" );
        return -5;
    }

    ret = tuner.component->InitNotification( tuner.component, AV_TUNER_ONSTATIONLOST,
            AVTunerOnStationLostDispatchCallback, &tuner, CNF_DEALLOC_ARG );
    if (ret) {
        D_DERROR( ret, "IComaComponent::InitNotification(AV_TUNER_ONSTATIONFOUND) failed!\n" );
        return -5;
    }

    tuner.component->Activate( tuner.component );


    pause();


    tuner.component->Release( tuner.component );

    coma->Release( coma );
    dale->Release( dale );

    return 0;
}
Пример #6
0
int
main( int argc, char *argv[] )
{
     DirectResult           ret;
     IFusionDale           *dale;
     IFusionDaleMessenger  *messenger;
     FDMessengerEventID     event_id1;
     FDMessengerEventID     event_id2;
     FDMessengerListenerID  listener_id1;
     FDMessengerListenerID  listener_id2;

     ret = FusionDaleInit( &argc, &argv );
     if (ret)
          FusionDaleErrorFatal( "FusionDaleInit", ret );

     ret = FusionDaleCreate( &dale );
     if (ret)
          FusionDaleErrorFatal( "FusionDaleCreate", ret );

     ret = dale->CreateMessenger( dale, &messenger );
     if (ret)
          FusionDaleErrorFatal( "IFusionDale::CreateMessenger", ret );



     ret = messenger->RegisterEvent( messenger, "Test Event", &event_id1 );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::RegisterEvent", ret );

     ret = messenger->IsEventRegistered( messenger, "Test Event" );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::IsEventRegistered", ret );


     ret = messenger->RegisterEvent( messenger, "Test Event2", &event_id2 );
     if (ret)
          FusionDaleError( "IFusionDaleMessenger::RegisterEvent", ret );


     ret = messenger->RegisterListener( messenger, event_id1, EventCallback, NULL, &listener_id1 );
     if (ret)
          FusionDaleError( "IFusionDaleMessenger::RegisterListener", ret );


     ret = messenger->RegisterListener( messenger, event_id2, EventCallback, NULL, &listener_id2 );
     if (ret)
          FusionDaleError( "IFusionDaleMessenger::RegisterListener", ret );


     ret = messenger->SendSimpleEvent( messenger, event_id1, 23 );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::UnregisterEvent", ret );

//     sleep(1);

     ret = messenger->UnregisterListener( messenger, listener_id1 );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::UnregisterEvent", ret );


     ret = messenger->SendSimpleEvent( messenger, event_id1, 23 );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::UnregisterEvent", ret );

//     sleep(1);

     ret = messenger->UnregisterEvent( messenger, event_id1 );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::UnregisterEvent", ret );


     sleep(2);


     ret = messenger->UnregisterEvent( messenger, event_id2 );
     if (ret)
          FusionDaleErrorFatal( "IFusionDaleMessenger::UnregisterEvent", ret );


     messenger->Release( messenger );
     dale->Release( dale );

     return 0;
}
Пример #7
0
int
main( int argc, char *argv[] )
{
    DirectResult  ret;
    IFusionDale  *dale;
    int           i;

    //dfb_config_init( &argc, &argv );

    ret = FusionDaleInit( &argc, &argv );
    if (ret) {
        D_DERROR( ret, "FusionDaleInit() failed!\n" );
        return -1;
    }

    ret = FusionDaleCreate( &dale );
    if (ret) {
        D_DERROR( ret, "FusionDaleCreate() failed!\n" );
        return -2;
    }

    ret = dale->EnterComa( dale, "Coma Test", &coma );
    if (ret) {
        D_DERROR( ret, "IFusionDale::EnterComa('Coma Test') failed!\n" );
        return -3;
    }

    direct_mutex_init( &decoupled_calls_lock );
    direct_waitqueue_init( &decoupled_calls_wq );

    for (i=1; i<argc; i++) {
        if (strncmp( argv[i], "create", 6 ) == 0) {
            int n, num;
            int threads = 1;

            if (sscanf( argv[i]+6, "%d,%d", &num, &threads ) >= 1) {
                for (n=0; n<num; n++) {
                    RUN_create( n );
                }

                for (n=0; n<threads; n++) {
                    direct_thread_create( DTT_DEFAULT, DecoupledCall_thread_main, NULL, "Process" );
                }

                pause();
            }
            else
                fprintf( stderr, "Wrong number '%s'!\n", argv[i]+6 );
        }
        else if (strncmp( argv[i], "call", 4 ) == 0) {
            int index, threads = 1;

            if (sscanf( argv[i]+4, "%d,%d", &index, &threads ) >= 1) {
                RUN_call_threaded( index, threads );
            }
            else
                fprintf( stderr, "Wrong number '%s'!\n", argv[i]+4 );
        }
    }

    direct_waitqueue_deinit( &decoupled_calls_wq );
    direct_mutex_deinit( &decoupled_calls_lock );

    coma->Release( coma );

    dale->Release( dale );

    return 0;
}