Extending miracles functionality
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sun, 19 Sep 2004 09:31:49 +0000 (09:31 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sun, 19 Sep 2004 09:31:49 +0000 (09:31 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@428 d19143bc-622f-0410-bfdd-b5b2a6649095

src/miracle/miracle.c
src/miracle/miracle_server.c
src/miracle/miracle_server.h

index e3d26f4..2e09830 100644 (file)
@@ -97,6 +97,9 @@ int main( int argc, char **argv )
 
        atexit( main_cleanup );
 
+       /* Set the config script */
+       miracle_server_set_config( server, "/etc/miracle.conf" );
+
        /* Execute the server */
        error = miracle_server_execute( server );
 
index 3c82c33..50d5bf0 100644 (file)
@@ -62,6 +62,15 @@ miracle_server miracle_server_init( char *id )
        return server;
 }
 
+void miracle_server_set_config( miracle_server server, char *config )
+{
+       if ( server != NULL )
+       {
+               free( server->config );
+               server->config = config != NULL ? strdup( config ) : NULL;
+       }
+}
+
 /** Set the port of the server.
 */
 
@@ -209,10 +218,10 @@ int miracle_server_execute( miracle_server server )
        if ( response != NULL && valerie_response_get_error_code( response ) == 100 )
        {
                /* read configuration file */
-               if ( response != NULL && !server->proxy )
+               if ( response != NULL && !server->proxy && server->config != NULL )
                {
                        valerie_response_close( response );
-                       response = valerie_parser_run( server->parser, "/etc/miracle.conf" );
+                       response = valerie_parser_run( server->parser, server->config );
 
                        if ( valerie_response_count( response ) > 1 )
                        {
@@ -267,6 +276,7 @@ void miracle_server_shutdown( miracle_server server )
                server->shutdown = 1;
                pthread_join( server->thread, NULL );
                valerie_parser_close( server->parser );
+               miracle_server_set_config( server, NULL );
                close( server->socket );
        }
 }
index 95dfb52..d79b987 100644 (file)
@@ -51,6 +51,7 @@ typedef struct
        int proxy;
        char remote_server[ 50 ];
        int remote_port;
+       char *config;
 }
 *miracle_server, miracle_server_t;
 
@@ -58,6 +59,7 @@ typedef struct
 */
 
 extern miracle_server miracle_server_init( char * );
+extern void miracle_server_set_config( miracle_server, char * );
 extern void miracle_server_set_port( miracle_server, int );
 extern void miracle_server_set_proxy( miracle_server, char * );
 extern int miracle_server_execute( miracle_server );