From: Pankaj Yadav Date: Sun, 9 Jan 2011 21:29:33 +0000 (+0530) Subject: Symbian App private path and build changes X-Git-Tag: 1.2.0-pre1~4111 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=c1a3bb47846f913493a5fa240cbcf403c9f21a5e;hp=10a167116ec0f81ef8adf9df54aa09d575c441f6;p=vlc Symbian App private path and build changes Signed-off-by: Jean-Baptiste Kempf --- diff --git a/src/Makefile.am b/src/Makefile.am old mode 100644 new mode 100755 index edc4dbe90c..a445751047 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -238,6 +238,7 @@ EXTRA_libvlccore_la_SOURCES = \ $(SOURCES_libvlc_darwin) \ $(SOURCES_libvlc_linux) \ $(SOURCES_libvlc_win32) \ + $(SOURCES_libvlc_symbian) \ $(SOURCES_libvlc_other) \ $(SOURCES_libvlc_httpd) \ $(SOURCES_libvlc_sout) \ @@ -255,11 +256,15 @@ else if HAVE_WINCE libvlccore_la_SOURCES += $(SOURCES_libvlc_win32) else +if HAVE_SYMBIAN +libvlccore_la_SOURCES += $(SOURCES_libvlc_symbian) +else libvlccore_la_SOURCES += $(SOURCES_libvlc_other) endif endif endif endif +endif if BUILD_HTTPD libvlccore_la_SOURCES += $(SOURCES_libvlc_httpd) endif @@ -295,6 +300,10 @@ SOURCES_libvlc_win32 = \ win32/winsock.c \ $(NULL) +SOURCES_libvlc_symbian = \ + symbian/path.cpp \ + $(NULL) + SOURCES_libvlc_other = \ config/dirs_xdg.c \ misc/atomic.c \ diff --git a/src/symbian/path.cpp b/src/symbian/path.cpp new file mode 100755 index 0000000000..650be892b3 --- /dev/null +++ b/src/symbian/path.cpp @@ -0,0 +1,94 @@ +/***************************************************************************** + * path.cpp : Symbian Application's Provate Path + ***************************************************************************** + * Copyright © 2010 Pankaj Yadav + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "path.h" + +/*Way to Find AppPrivatePath (A Path where an application can store its private data) */ +static TInt GetPrivatePath(TFileName& privatePath) +{ + TFileName KPath; + RFs fsSession; + TInt result; + + result = fsSession.Connect(); + if (result != KErrNone) + { + return result; + } + fsSession.PrivatePath(KPath); + TFindFile findFile(fsSession); + + privatePath = KPath; + result = findFile.FindByDir(KPath, KNullDesC); + if (result == KErrNone) + { + privatePath = findFile.File(); + } + + fsSession.Close(); + return result; +} + +extern "C" char * GetConstPrivatePath(void) +{ + TFileName privatePath; + TBuf8 privatepathutf8; + size_t len; + char carray[KMaxFileName]; + + if(GetPrivatePath(privatePath)!=KErrNone) + { + goto defaultreturn; + } + + CnvUtfConverter::ConvertFromUnicodeToUtf8( privatepathutf8, privatePath ); + + TInt index = 0; + for(index =0 ; index < privatepathutf8.Length(); index++) + { + carray[index] = privatepathutf8[index]; + } + carray[index] = 0; + + if((len = strnlen((const char *)carray, KMaxFileName) < KMaxFileName) + { + carray[len-1]='\0'; + } + else + { + goto defaultreturn; + } + + + return strdup((const char *)carray); + +defaultreturn: + return strdup("C:\\Data\\Others"); +} + diff --git a/src/symbian/path.h b/src/symbian/path.h new file mode 100755 index 0000000000..a71de2711f --- /dev/null +++ b/src/symbian/path.h @@ -0,0 +1,22 @@ +/***************************************************************************** + * path.h: Symbian Aplications Private Path + ***************************************************************************** + * Copyright © 2010 Pankaj Yadav + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +extern "C" char * GetConstPrivatePath(void); +