From 947c78887e791596d4a5ec2d1079f8b1a049628b Mon Sep 17 00:00:00 2001 From: takeshi_hoshina Date: Tue, 27 Oct 2020 11:16:21 +0900 Subject: basesystem 0.1 --- .../system_manager_config/last2order/Makefile | 71 ++++++++++++++ .../last2order/sm_last2order.cfo | Bin 0 -> 8 bytes .../last2order/tool/mklast2ordertbl.pl | 107 +++++++++++++++++++++ 3 files changed, 178 insertions(+) create mode 100644 systemservice/config/library/system_manager_config/last2order/Makefile create mode 100644 systemservice/config/library/system_manager_config/last2order/sm_last2order.cfo create mode 100755 systemservice/config/library/system_manager_config/last2order/tool/mklast2ordertbl.pl (limited to 'systemservice/config/library/system_manager_config/last2order') diff --git a/systemservice/config/library/system_manager_config/last2order/Makefile b/systemservice/config/library/system_manager_config/last2order/Makefile new file mode 100644 index 00000000..f38ee770 --- /dev/null +++ b/systemservice/config/library/system_manager_config/last2order/Makefile @@ -0,0 +1,71 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# ==== Customization ================ +#Directory path located XMLs for conversion +CONFXML_DIR_PATH ?= $(SDKTARGETSYSROOT)/usr/agl/conf/sm_last2order + +#path to order file +ORDER_DEF_PATH ?= $(SDKTARGETSYSROOT)/usr/agl/include/agl_wakeup_order.h + +#path to be installed CFO file +CONF_INSTALL_DIR ?= $(SDKTARGETSYSROOT)/usr/agl/conf/systemmanager + +# ================================== + +HOST_CPP = cpp +MKL_LAST2ORDER = mklast2ordertbl.pl + +#path located last2order tools +TOOLPATH = ./tool + +VPATH = $(CONFXML_DIR_PATH) $(TOOLPATH) + +XMLFILES = $(shell cd $(CONFXML_DIR_PATH); ls *.xml) +XMLTMPFILES = $(XMLFILES:%.xml=%.xml.pped) +CFOFILES = $(XMLFILES:%.xml=%.cfo) + +_all:$(CFOFILES) + +install:install-pre install-cfo + +install-pre: + install -d -m 775 $(DESTDIR)/usr/agl/conf/sm_last2order;\ + install -m 644 -t $(DESTDIR)/usr/agl/conf/systemmanager sm_last2order.cfo + +install-cfo:_all + set -e ;\ + install -d -m 775 $(CONF_INSTALL_DIR) ;\ + for cfofile in $(CFOFILES); do \ + install -m 644 -t $(CONF_INSTALL_DIR) $$cfofile; \ + done + +%.cfo:%.xml.pped $(MKL_LAST2ORDER) + ln -fs $(TOOLPATH)/$(MKL_LAST2ORDER) + ./$(MKL_LAST2ORDER) $< $@ + +%.xml.pped:%.xml + $(HOST_CPP) -P -include $(ORDER_DEF_PATH) $< > $@ + +clean:clean_local +clean-sub:clean_local + +clean_local: + rm -f *.cfo *.pped *.pl + +.PHONY:install-cfo _all + +include ../../../../system_service.mk diff --git a/systemservice/config/library/system_manager_config/last2order/sm_last2order.cfo b/systemservice/config/library/system_manager_config/last2order/sm_last2order.cfo new file mode 100644 index 00000000..2463eecc Binary files /dev/null and b/systemservice/config/library/system_manager_config/last2order/sm_last2order.cfo differ diff --git a/systemservice/config/library/system_manager_config/last2order/tool/mklast2ordertbl.pl b/systemservice/config/library/system_manager_config/last2order/tool/mklast2ordertbl.pl new file mode 100755 index 00000000..9b7dcaba --- /dev/null +++ b/systemservice/config/library/system_manager_config/last2order/tool/mklast2ordertbl.pl @@ -0,0 +1,107 @@ +#!/usr/bin/perl +use strict; + +use XML::XPath; + +my $LOCAL_XML = "./last2order.xml.tmp"; +my $LOCAL_DTD = "./last2order.dtd"; + +my $DTD = <<'EODTD'; + + + + +EODTD + +sub usage(){ + print STDERR "USAGE:$0 *.xml *.cfo\n"; +} + +#==== MAIN ==== +my $ret=system("which xmllint > /dev/null"); +if($ret != 0){ + die("xmllint is not installed \n"); +} + +if(2 != @ARGV){ + usage(); + exit 1; +} + +my $inXmlFile= $ARGV[0]; +my $outCfgXmlFile= $ARGV[1]; + + +#ARG CHECK +if(! -e $inXmlFile){ + die("$inXmlFile not found"); +} + + +system("cp $inXmlFile $LOCAL_XML"); + +open FOUT,'>',$LOCAL_DTD or die("can't open $LOCAL_DTD"); +print FOUT $DTD; +close FOUT; + +$ret=system("xmllint --noout --valid $LOCAL_XML "); +if($ret != 0){ + die("$inXmlFile is NOT VAILD"); +} + +my $xml = XML::XPath->new(filename=>$LOCAL_XML); + +my $last2order_tbl = $xml->find('/last2order_tbl/last2order'); + +my @nodelist = $last2order_tbl->get_nodelist; +my $numOfElement = @nodelist; + +printf("num of element :$numOfElement\n"); + +my $writeValue; +open FOUT,'+>',$outCfgXmlFile or die("can't open $outCfgXmlFile"); +binmode(FOUT); + +$writeValue = pack("A4","CTOO"); print FOUT $writeValue; +$writeValue = pack("L",$numOfElement); print FOUT $writeValue; + +foreach my $last2order( @nodelist ) { + $writeValue = $last2order->findvalue('@front_video'); + printf("FV:$writeValue "); + $writeValue = pack("a128",$writeValue); print FOUT $writeValue; + + $writeValue = $last2order->findvalue('@front_sub_video'); + printf("FSV:$writeValue "); + $writeValue = pack("a128",$writeValue); print FOUT $writeValue; + + $writeValue = $last2order->findvalue('@front_audio'); + printf("FA:$writeValue "); + $writeValue = pack("a128",$writeValue); print FOUT $writeValue; + + $writeValue = $last2order->findvalue('@rear_video'); + printf("RV:$writeValue "); + $writeValue = pack("a128",$writeValue); print FOUT $writeValue; + + $writeValue = $last2order->findvalue('@rear_audio'); + printf("RA:$writeValue "); + $writeValue = pack("a128",$writeValue); print FOUT $writeValue; + + $writeValue = $last2order->findvalue('@ordername'); + printf("ON:$writeValue "); + $writeValue = pack("a64",$writeValue); print FOUT $writeValue; + + printf("\n"); +} + +close(FOUT); + +system("rm $LOCAL_XML $LOCAL_DTD"); + + -- cgit 1.2.3-korg