diff --git a/data/icons/status/ca/Makefile.am b/data/icons/status/ca/Makefile.am
index d7db8b6bf..4a487f5c2 100644
--- a/data/icons/status/ca/Makefile.am
+++ b/data/icons/status/ca/Makefile.am
@@ -30,6 +30,7 @@ install_DATA = \
nagra_green.png \
nagra_white.png \
nagra_yellow.png \
+ ncam_green.png \
nds_green.png \
nds_white.png \
nds_yellow.png \
diff --git a/data/icons/status/ca/ncam_green.png b/data/icons/status/ca/ncam_green.png
new file mode 100644
index 000000000..8fb938e67
Binary files /dev/null and b/data/icons/status/ca/ncam_green.png differ
diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale
index f0c8d7850..d2ed76ff5 100644
--- a/data/locale/deutsch.locale
+++ b/data/locale/deutsch.locale
@@ -252,6 +252,8 @@ camd_item_gbox_hint GBox - Softcam und Emulator
camd_item_gbox_name gbox
camd_item_mgcamd_hint MGCamd - Emulator
camd_item_mgcamd_name mgcamd
+camd_item_ncam_hint NCam - Softcam und Emulator
+camd_item_ncam_name ncam
camd_item_newcs_hint NewCS - Softcam
camd_item_newcs_name newcs
camd_item_oscam_hint OSCam - Softcam
diff --git a/data/locale/english.locale b/data/locale/english.locale
index 6fe96266e..57e4f4020 100644
--- a/data/locale/english.locale
+++ b/data/locale/english.locale
@@ -252,6 +252,8 @@ camd_item_gbox_hint GBox - Softcam and emulator
camd_item_gbox_name gbox
camd_item_mgcamd_hint MGCamd - Emulator
camd_item_mgcamd_name mgcamd
+camd_item_ncam_hint NCam - Softcam and emulator
+camd_item_ncam_name ncam
camd_item_newcs_hint NewCS - Softcam
camd_item_newcs_name newcs
camd_item_oscam_hint OSCam - Softcam
diff --git a/data/y-web/Y_NI_Camd-control.yhtm b/data/y-web/Y_NI_Camd-control.yhtm
index 5d22935c4..be85be64c 100644
--- a/data/y-web/Y_NI_Camd-control.yhtm
+++ b/data/y-web/Y_NI_Camd-control.yhtm
@@ -2,6 +2,7 @@
{=var-set:x_cs2gbox={=script:Y_NI_Tools is_exec cs2gbox=}=}
{=var-set:x_osemu={=script:Y_NI_Tools is_exec osemu=}=}
{=var-set:x_oscam={=script:Y_NI_Tools is_exec oscam=}=}
+{=var-set:x_ncam={=script:Y_NI_Tools is_exec ncam=}=}
{=var-set:x_doscam={=script:Y_NI_Tools is_exec doscam=}=}
{=var-set:x_mgcamd={=script:Y_NI_Tools is_exec mgcamd=}=}
{=var-set:x_newcs={=script:Y_NI_Tools is_exec newcs=}=}
@@ -10,11 +11,13 @@
{=var-set:r_cs2gbox={=script:Y_NI_Tools is_running cs2gbox=}=}
{=var-set:r_osemu={=script:Y_NI_Tools is_running osemu=}=}
{=var-set:r_oscam={=script:Y_NI_Tools is_running oscam=}=}
+{=var-set:r_ncam={=script:Y_NI_Tools is_running ncam=}=}
{=var-set:r_doscam={=script:Y_NI_Tools is_running doscam=}=}
{=var-set:r_mgcamd={=script:Y_NI_Tools is_running mgcamd=}=}
{=var-set:r_newcs={=script:Y_NI_Tools is_running newcs=}=}
{=var-set:oscamport={=script:Y_NI_Tools get_oscam_webif_port=}=}
+{=var-set:ncamport={=script:Y_NI_Tools get_ncam_webif_port=}=}
{=var-set:doscamport={=script:Y_NI_Tools get_doscam_webif_port=}=}
{=include-block:Y_NI_Blocks.txt;head=}
@@ -312,6 +315,77 @@ input[type="button"], .tools select {
{=var-set:camd=doscam=}
diff --git a/data/y-web/languages/Deutsch b/data/y-web/languages/Deutsch
index 5ae9f2abc..fdd02bcd2 100644
--- a/data/y-web/languages/Deutsch
+++ b/data/y-web/languages/Deutsch
@@ -659,6 +659,7 @@ ni.camd-tools.pidinfo=PID-Informationen
ni.camd-tools.mgshareinfo=NewCamd Verbindungen
ni.camd-tools.cs2gboxinfo=Allgemeine Informationen
ni.camd-tools.oscamversion=Allgemeine Informationen
+ni.camd-tools.ncamversion=Allgemeine Informationen
ni.camd-tools.doscamversion=Allgemeine Informationen
ni.pzapit-control=PZapit
diff --git a/data/y-web/languages/English b/data/y-web/languages/English
index 229aca6e6..d8bc53303 100644
--- a/data/y-web/languages/English
+++ b/data/y-web/languages/English
@@ -662,6 +662,7 @@ ni.camd-tools.pidinfo=PID-Informations
ni.camd-tools.mgshareinfo=NewCamd Lines
ni.camd-tools.cs2gboxinfo=Common Informations
ni.camd-tools.oscamversion=Common Informations
+ni.camd-tools.ncamversion=Common Informations
ni.camd-tools.doscamversion=Common Informations
ni.pzapit-control=PZapit
diff --git a/data/y-web/scripts/Y_NI_Camd-control.sh b/data/y-web/scripts/Y_NI_Camd-control.sh
index 4ed92955e..d36c4dc83 100644
--- a/data/y-web/scripts/Y_NI_Camd-control.sh
+++ b/data/y-web/scripts/Y_NI_Camd-control.sh
@@ -88,6 +88,20 @@ case "$1" in
echo "[$BNAME] oscam-reset"
/etc/init.d/emu reset oscam >/dev/console
;;
+ ncam_start)
+ echo "[$BNAME] ncam-start"
+ touch /var/etc/.ncam
+ /etc/init.d/emu start ncam >/dev/console
+ ;;
+ ncam_stop)
+ echo "[$BNAME] ncam-stop"
+ rm -rf /var/etc/.ncam
+ /etc/init.d/emu stop ncam >/dev/console
+ ;;
+ ncam_reset)
+ echo "[$BNAME] ncam-reset"
+ /etc/init.d/emu reset ncam >/dev/console
+ ;;
doscam_start)
echo "[$BNAME] doscam-start"
touch /var/etc/.doscam
diff --git a/data/y-web/scripts/Y_NI_Tools.sh b/data/y-web/scripts/Y_NI_Tools.sh
index 35296e119..fb0e30255 100644
--- a/data/y-web/scripts/Y_NI_Tools.sh
+++ b/data/y-web/scripts/Y_NI_Tools.sh
@@ -258,6 +258,9 @@ case "$action" in
oscamstop) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh oscam_stop;;
oscamstart) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh oscam_start;;
oscamreset) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh oscam_reset;;
+ ncamstop) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh ncam_stop;;
+ ncamstart) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh ncam_start;;
+ ncamreset) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh ncam_reset;;
doscamstop) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh doscam_stop;;
doscamstart) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh doscam_start;;
doscamreset) %(PRIVATE_HTTPDDIR)/scripts/Y_NI_Camd-control.sh doscam_reset;;
@@ -290,6 +293,7 @@ case "$action" in
ecminfo) file2msg /tmp/ecm.info "ecm-info";;
pidinfo) file2msg /tmp/pid.info "pid-info";;
oscamversion) file2msg /tmp/.oscam/oscam.version "oscam-info";;
+ ncamversion) file2msg /tmp/.ncam/ncam.version "ncam-info";;
doscamversion) file2msg /tmp/.doscam/doscam.version "doscam-info";;
get_oscam_webif_port)
@@ -300,6 +304,14 @@ case "$action" in
printf "%s" ${_port:-8080}
;;
+ get_ncam_webif_port)
+ if [ -e %(CONFIGDIR)/ncam.conf ]; then
+ _port=$(grep -m 1 -i "^[:space:]*httpport" %(CONFIGDIR)/ncam.conf | cut -d'=' -f2)
+ _port=$(echo $_port | dos2unix -u)
+ fi
+ printf "%s" ${_port:-8181}
+ ;;
+
get_doscam_webif_port)
if [ -e %(CONFIGDIR)/doscam.cfg ]; then
_port=$(grep -m 1 -i "^[:space:]*httpport" %(CONFIGDIR)/doscam.cfg | cut -d'=' -f2)
diff --git a/src/gui/infoviewer_bb.cpp b/src/gui/infoviewer_bb.cpp
index 961fe3da3..a476bf20e 100644
--- a/src/gui/infoviewer_bb.cpp
+++ b/src/gui/infoviewer_bb.cpp
@@ -1030,8 +1030,8 @@ void CInfoViewerBB::paint_cam_icons()
std::ostringstream buf;
int emu_pic_startx = g_InfoViewer->ChanInfoX + (g_settings.infobar_casystem_frame ? 20 : 10);
int py = g_InfoViewer->BoxEndY + (g_settings.infobar_casystem_frame ? 4 : 2);
- const char *icon_name[] = {"mgcamd","doscam","oscam","osemu","newcs","gbox"};
- static int icon_space[] = {10,10,10,10,10,10};
+ const char *icon_name[] = {"mgcamd","doscam","ncam","oscam","osemu","newcs","gbox"};
+ static int icon_space[] = {10,10,10,10,10,10,10};
int icon_sizeH = 0;
int icon_sizeW = 0;
bool useCI = CCamManager::getInstance()->getUseCI();
diff --git a/src/gui/ni_menu.cpp b/src/gui/ni_menu.cpp
index 43aaa0cf6..45a7f2ba7 100644
--- a/src/gui/ni_menu.cpp
+++ b/src/gui/ni_menu.cpp
@@ -65,6 +65,7 @@ emu_menu_data_t emu_menu[]=
{
{LOCALE_CAMD_ITEM_MGCAMD_NAME, LOCALE_CAMD_ITEM_MGCAMD_HINT, "MGCAMD", "mgcamd", 0, 0},
{LOCALE_CAMD_ITEM_DOSCAM_NAME, LOCALE_CAMD_ITEM_DOSCAM_HINT, "DOSCAM", "doscam", 0, 0},
+ {LOCALE_CAMD_ITEM_NCAM_NAME, LOCALE_CAMD_ITEM_NCAM_HINT, "NCAM", "ncam", 0, 0},
{LOCALE_CAMD_ITEM_OSCAM_NAME, LOCALE_CAMD_ITEM_OSCAM_HINT, "OSCAM", "oscam", 0, 0},
{LOCALE_CAMD_ITEM_OSEMU_NAME, LOCALE_CAMD_ITEM_OSEMU_HINT, "OSEMU", "osemu", 0, 0},
{LOCALE_CAMD_ITEM_NEWCS_NAME, LOCALE_CAMD_ITEM_NEWCS_HINT, "NEWCS", "newcs", 0, 0},
@@ -239,6 +240,7 @@ bool CNITouchFileNotifier::changeNotify(const neutrino_locale_t, void * data)
strstr(filename, "newcs") ||
strstr(filename, "osemu") ||
strstr(filename, "doscam") ||
+ strstr(filename, "ncam") ||
strstr(filename, "oscam") ||
strstr(filename, "cs2gbox") ||
strstr(filename, "gbox"))
@@ -293,6 +295,7 @@ bool CNITouchFileNotifier::changeNotify(const neutrino_locale_t, void * data)
strstr(filename, "newcs") ||
strstr(filename, "osemu") ||
strstr(filename, "doscam") ||
+ strstr(filename, "ncam") ||
strstr(filename, "oscam") ||
strstr(filename, "cs2gbox") ||
strstr(filename, "gbox"))
diff --git a/src/system/locals.h b/src/system/locals.h
index 2c4640ad6..3a0e4d2ff 100644
--- a/src/system/locals.h
+++ b/src/system/locals.h
@@ -279,6 +279,8 @@ typedef enum
LOCALE_CAMD_ITEM_GBOX_NAME,
LOCALE_CAMD_ITEM_MGCAMD_HINT,
LOCALE_CAMD_ITEM_MGCAMD_NAME,
+ LOCALE_CAMD_ITEM_NCAM_HINT,
+ LOCALE_CAMD_ITEM_NCAM_NAME,
LOCALE_CAMD_ITEM_NEWCS_HINT,
LOCALE_CAMD_ITEM_NEWCS_NAME,
LOCALE_CAMD_ITEM_OSCAM_HINT,
diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h
index c4da6bd05..3e99b119b 100644
--- a/src/system/locals_intern.h
+++ b/src/system/locals_intern.h
@@ -279,6 +279,8 @@ const char * locale_real_names[] =
"camd_item_gbox_name",
"camd_item_mgcamd_hint",
"camd_item_mgcamd_name",
+ "camd_item_ncam_hint",
+ "camd_item_ncam_name",
"camd_item_newcs_hint",
"camd_item_newcs_name",
"camd_item_oscam_hint",
|