punk@13: // punk@13: // INTEL CONFIDENTIAL punk@13: // Copyright (c) 2008 Intel Corp. Recipient is granted a non-sublicensable punk@13: // copyright license under Intel copyrights to copy and distribute this code punk@13: // internally only. This code is provided "AS IS" with no support and with no punk@13: // warranties of any kind, including warranties of MERCHANTABILITY, punk@13: // FITNESS FOR ANY PARTICULAR PURPOSE or INTELLECTUAL PROPERTY INFRINGEMENT. punk@13: // By making any use of this code, Recipient agrees that no other licenses punk@13: // to any Intel patents, trade secrets, copyrights or other intellectual punk@13: // property rights are granted herein, and no other licenses shall arise by punk@13: // estoppel, implication or by operation of law. Recipient accepts all risks punk@13: // of use. punk@13: // punk@13: punk@13: // possibly use include paths to hide existing modules? punk@13: punk@13: #ifndef __AUDIO_CORE_CONNECTED_APPLICATION__ punk@13: #define __AUDIO_CORE_CONNECTED_APPLICATION__ punk@13: punk@13: #include punk@13: #include punk@13: #include punk@13: punk@13: #include "asim/provides/virtual_platform.h" punk@13: punk@22: #include "asim/rrr/client_stub_AUDIOCORERRR.h" punk@13: punk@13: typedef enum { punk@13: EndOfFile = 0, punk@13: Data = 1 punk@13: } AudioProcessorControl; punk@13: punk@13: punk@13: typedef class CONNECTED_APPLICATION_CLASS* CONNECTED_APPLICATION; punk@13: class CONNECTED_APPLICATION_CLASS : public PLATFORMS_MODULE_CLASS punk@13: { punk@13: private: punk@13: AUDIOCORERRR_CLIENT_STUB clientStub; punk@13: static sem_t throttle; punk@13: static pthread_mutex_t lock; punk@13: static pthread_cond_t cond; punk@13: punk@13: public: punk@13: CONNECTED_APPLICATION_CLASS(VIRTUAL_PLATFORM vp); punk@13: ~CONNECTED_APPLICATION_CLASS(); punk@13: static void EndSimulation(); punk@13: static void UpdateSemaphore(); punk@13: punk@13: // init punk@13: void Init(); punk@13: punk@13: // main punk@13: void Main(); punk@13: }; punk@13: punk@13: #endif