Jump to content

Neutrino Zapit Patch


Empfohlene Beiträge

Ich hoffe otto_promm nimmt´s mir nicht krumm,

aber nachdem ich nun schon wieder ne Weile danach suchen musste hab ich mir

gedacht ich mach das mal dahin wo es nicht verloren geht :lol:

 

cam.h

--------

 

#ifndef __zapit_cam_h__

#define __zapit_cam_h__

 

#include "ci.h"

#include

 

class CCam : public CBasicClient

{

private:

unsigned int number;

virtual const unsigned char getVersion(void) const;

virtual const char *getSocketName() const;

public:

bool sendMessage(const char * const data, const size_t length);

bool setCaPmt(CCaPmt * const caPmt);

CCam(int Number);

};

#endif /* __cam_h__ */

-------------------------------------------------------------------------------------------

 

cam.cpp

---------

 

/* zapit */

#include

#include /* CAMD_UDS_NAME */

#include /* get_length_field_size */

 

const unsigned char CCam::getVersion(void) const

{

return 0x9F;

}

 

CCam::CCam(int Number)

{

number = Number;

}

 

const char *CCam::getSocketName(void) const

{

static char camd_uds_name[500];

memset(camd_uds_name, 0, 500);

if(number==0)

sprintf(camd_uds_name, "%s", CAMD_UDS_NAME);

else

sprintf(camd_uds_name, "/tmp/camd.sock%02d", number);

 

return camd_uds_name;

}

 

bool CCam::sendMessage(const char * const data, const size_t length)

{

close_connection();

 

if (!open_connection())

return false;

 

return send_data(data, length);

}

 

bool CCam::setCaPmt(CCaPmt * const caPmt)

{

if (!caPmt)

return true;

 

unsigned int size = caPmt->getLength();

unsigned char buffer[3 + get_length_field_size(size) + size];

size_t pos = caPmt->writeToBuffer(buffer);

 

return sendMessage((char *)buffer, pos);

}

-------------------------------------------------------------------------------------------

 

zapit.cpp

-----------

/* the conditional access module */

CCam *cam = NULL;

 

ändern auf

 

/* the conditional access module */

#define MAXCAMS 10

CCam *cam[MAXCAMS];

--------------------------------------------------------------------------------------------

cam->setCaPmt(thisChannel->getCaPmt());

 

ändern auf

 

for(int k = 0; k

cam[k]->setCaPmt(thisChannel->getCaPmt());

---------------------------------------------------------------------------------------------

if (cam) {

delete cam;

cam = NULL;

}

 

ändern auf

 

for(int k = 0; k

if (cam[k]) {

delete cam[k];

cam[k] = NULL;

}

}

---------------------------------------------------------------------------------------------

}

if (!cam) {

cam = new CCam();

}

 

ändern auf

 

for(int k = 0; k

if (!cam[k]) {

cam[k] = new CCam(k);

}

}

---------------------------------------------------------------------------------------------

 

Ich glaub das wars.

Sollte ich was vergessen habe bitte verbessern.

 

mfg

otto

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...