annotate AudioProcessorRRR.cpp @ 16:7e1510b47336 pygar svn.17

[svn r17] added rest of items for core
author punk
date Tue, 27 Apr 2010 22:54:50 -0400
parents
children
rev   line source
punk@16 1 #include <cstdio>
punk@16 2 #include <cstdlib>
punk@16 3 #include <iostream>
punk@16 4 #include <iomanip>
punk@16 5 #include <stdio.h>
punk@16 6 #include <sys/stat.h>
punk@16 7
punk@16 8 #include "asim/rrr/service_ids.h"
punk@16 9
punk@16 10 #include "asim/provides/connected_application.h"
punk@16 11
punk@16 12
punk@16 13
punk@16 14 using namespace std;
punk@16 15
punk@16 16 // ===== service instantiation =====
punk@16 17 AUDIOPROCESSORRRR_SERVER_CLASS AUDIOPROCESSORRRR_SERVER_CLASS::instance;
punk@16 18
punk@16 19 // constructor
punk@16 20 AUDIOPROCESSORRRR_SERVER_CLASS::AUDIOPROCESSORRRR_SERVER_CLASS() :
punk@16 21 serverStub(new AUDIOPROCESSORRRR_SERVER_STUB_CLASS(this))
punk@16 22 {
punk@16 23 // instantiate stub
punk@16 24 printf("AUDIOPROCESSORRR init called\n");
punk@16 25 outputFile = NULL;
punk@16 26 }
punk@16 27
punk@16 28 // destructor
punk@16 29 AUDIOPROCESSORRRR_SERVER_CLASS::~AUDIOPROCESSORRRR_SERVER_CLASS()
punk@16 30 {
punk@16 31 Cleanup();
punk@16 32 }
punk@16 33
punk@16 34 // init
punk@16 35 void
punk@16 36 AUDIOPROCESSORRRR_SERVER_CLASS::Init(PLATFORMS_MODULE p)
punk@16 37 {
punk@16 38 parent = p;
punk@16 39 }
punk@16 40
punk@16 41 // uninit
punk@16 42 void
punk@16 43 AUDIOPROCESSORRRR_SERVER_CLASS::Uninit()
punk@16 44 {
punk@16 45 Cleanup();
punk@16 46 }
punk@16 47
punk@16 48 // cleanup
punk@16 49 void
punk@16 50 AUDIOPROCESSORRRR_SERVER_CLASS::Cleanup()
punk@16 51 {
punk@16 52 delete serverStub;
punk@16 53 }
punk@16 54
punk@16 55
punk@16 56 //
punk@16 57 // RRR service methods
punk@16 58 //
punk@16 59
punk@16 60 void
punk@16 61 AUDIOPROCESSORRRR_SERVER_CLASS::SendProcessedStream(UINT16 control, UINT16 data)
punk@16 62 {
punk@16 63
punk@16 64 AudioProcessorControl audioProcessorControl = (AudioProcessorControl) control;
punk@16 65 switch(control) {
punk@16 66 case EndOfFile:
punk@16 67 if(outputFile != NULL) {
punk@16 68 fflush(outputFile);
punk@16 69 fclose(outputFile);
punk@16 70 outputFile = NULL;
punk@16 71 } else {
punk@16 72 outputFile = fopen("out_hw.pcm","w");
punk@16 73 assert(outputFile);
punk@16 74 fflush(outputFile);
punk@16 75 fclose(outputFile);
punk@16 76 }
punk@16 77
punk@16 78 CONNECTED_APPLICATION_CLASS::EndSimulation();
punk@16 79 break;
punk@16 80
punk@16 81 case Data:
punk@16 82 if(outputFile == NULL) {
punk@16 83 outputFile = fopen("out_hw.pcm","w");
punk@16 84 assert(outputFile);
punk@16 85 }
punk@16 86
punk@16 87 CONNECTED_APPLICATION_CLASS::UpdateSemaphore();
punk@16 88 fwrite(&data, 2,1 , outputFile);
punk@16 89 break;
punk@16 90 }
punk@16 91
punk@16 92 }
punk@16 93