MPC Definitions for the Stock Quoter Publisher/Subscriber Real-time CORBA Service


Note: For more information about how to write and use mpc files, please refer to here.

This MPC file (StockQuoter.mpc) contains all the projects used by the Stock Quoter Publisher/Subscriber Real-time CORBA Service.

  • Defining the RTCORBA_Quoter_Common project

  • project(RTCORBA_Quoter_Common): rt_server, taolib, valuetype {
      sharedname = RTCORBA_Quoter_Common
      idlflags += -Wb,stub_export_macro=RTCORBA_Quoter_Common_Export \
                  -Wb,stub_export_include=Common_Export.h \
       
      dynamicflags = RTCORBA_QUOTER_COMMON_BUILD_DLL
    
      IDL_Files {
        Distributor.idl
        Broker.idl
        Common.idl
      }
    
      Source_Files {
        DistributorC.cpp
        BrokerC.cpp
        CommonC.cpp
        Stock_PriorityMapping.cpp
      }
    
      Header_Files {
        DistributorC.h
        BrokerC.h
        CommonC.h
        CommonS.h
        Stock_PriorityMapping.h
      }
    }
    
    This project is used as a Common project which contains all the idl stub definitions, the common skeleton definition, and the Stock_PriorityMapping definition.

  • Defining the Admin project

  • project(RTCORBA_Quoter_Admin): valuetype, rt_client, naming, stl {
      after = RTCORBA_Quoter_Common
      libs += RTCORBA_Quoter_Common
      
      Idl_Files {
      }
    
      Source_Files {
         Admin.cpp
      }
    
      Header_Files {
      }
    }
    
    This project is used as a system administrator to start, stop the Stock Distributor server and change the notification rate of it.

  • Defining the Distributor project

  • project(RTCORBA_Quoter_Distributor): valuetype, rt_server, naming, utils, stl {
      libs +=  RTCORBA_Quoter_Common
      after += RTCORBA_Quoter_Common
    
      IDL_Files {
      }
    
      Source_Files {
          DistributorS.cpp
          Distributor.cpp
          Distributor_i.cpp               
          Stock_Database.cpp
          CommonS.cpp
      }
    
      Header_Files {
          Distributor_i.h
          Stock_Database.h
          DistributorS.h
       }
    }
    
    This project is used as a Stock Distributor server which monitors a real-time stock feed database and whenever the value of a stock changes, it publishes an event to interested Stock Broker clients. It can alse provide the detailed information about a stock required by a Stock Broker client.

  • Defining the Broker project

  • project(RTCORBA_Quoter_Broker): valuetype, rt_server, naming, utils, stl {
      libs +=  RTCORBA_Quoter_Common
      after += RTCORBA_Quoter_Common
    
      IDL_Files {
      }
    
      Source_Files {
          BrokerS.cpp
          StockNameConsumer_i.cpp
          Broker.cpp
          Broker_i.cpp
          CommonS.cpp
        }
    
      Header_Files {
          StockNameConsumer_i.h
          Broker_i.h
          Stock_Database.h
          BrokerS.h
      }
    }
    
    This project is used as a Stock Broker client which subscribes with a Stock Distributor server to receive notification events whenever a stock value of interest to them changes. It can alse receive the detailed information about a stock by invoke a Stock Distributor server.


    Email: shanshan.jiang@vanderbilt.edu