Esempio n. 1
0
Path::Path(const char *p, Encoding e)
{
	if(e == ASCII)
		ParsePathString(ASCIItoUCS2String(p));
	else
		ParsePathString(URLToUCS2String(p));
}
Esempio n. 2
0
Path::Path(const string& p, Encoding e)
{
	if(e == ASCII)
		ParsePathString(ASCIItoUCS2String(p.c_str()));
	else
		ParsePathString(URLToUCS2String(p));
}
Esempio n. 3
0
UCS2String TemporaryFile::SuggestName()
{
    static std::atomic_int globalIndex = 0;
    int index = globalIndex++;

    char buffer[32];
    sprintf(buffer, "/tmp/pov%08x.dat", index);

    return ASCIItoUCS2String(buffer);
}
Esempio n. 4
0
UCS2String DefaultPlatformBase::CreateTemporaryFile()
{
	static int cnt = 0;
	char buffer[32];

	cnt++;
	sprintf(buffer, "/tmp/pov%08x.dat", cnt);

	FILE *f = fopen(buffer, "wb");
	if(f != NULL)
		fclose(f);

	return UCS2String(ASCIItoUCS2String(buffer));
}
Esempio n. 5
0
UCS2String Path::URLToUCS2String(const string& p) const
{
	return ASCIItoUCS2String(p.c_str()); // TODO FIXME
}
Esempio n. 6
0
void Path::SetFile(const string& p)
{
	file = ASCIItoUCS2String(p.c_str());
}
Esempio n. 7
0
void Path::SetFile(const char *p)
{
	file = ASCIItoUCS2String(p);
}
Esempio n. 8
0
void Path::AppendFolder(const string& p)
{
	folders.push_back(ASCIItoUCS2String(p.c_str()));
}
Esempio n. 9
0
void Path::AppendFolder(const char *p)
{
	folders.push_back(ASCIItoUCS2String(p));
}
Esempio n. 10
0
void Path::SetVolume(const string& p)
{
	volume = ASCIItoUCS2String(p.c_str());
}
Esempio n. 11
0
void Path::SetVolume(const char *p)
{
	volume = ASCIItoUCS2String(p);
}
Esempio n. 12
0
UCS2String BackendSceneData::FindFile(POVMSContext ctx, const UCS2String& filename, unsigned int stype)
{
    vector<UCS2String> filenames;
    UCS2String foundfile;
    bool tryExactFirst;

    // if filename extension, matches one of the standard ones, try the exact name first
    // (otherwise, try it last)
    UCS2String::size_type pos = filename.find_last_of('.');
    tryExactFirst = false;
    if (pos != UCS2String::npos)
    {
        for (size_t i = 0; i < POV_FILE_EXTENSIONS_PER_TYPE; i++)
        {
            if ( ( strlen(gPOV_File_Extensions[stype].ext[i]) > 0 ) &&
                 ( filename.compare(pos,filename.length()-pos, ASCIItoUCS2String(gPOV_File_Extensions[stype].ext[i])) == 0 ) )
            {
                // match
                tryExactFirst = true;
                break;
            }
        }
    }

    // build list of files to search for
    if (tryExactFirst)
        filenames.push_back(filename);

    // add filename with extension variants to list of files to search for
    for (size_t i = 0; i < POV_FILE_EXTENSIONS_PER_TYPE; i++)
    {
        if (strlen(gPOV_File_Extensions[stype].ext[i]) > 0)
        {
            UCS2String fn(filename);
            fn += ASCIItoUCS2String(gPOV_File_Extensions[stype].ext[i]);
            filenames.push_back(fn);
        }
    }

    if (!tryExactFirst)
        filenames.push_back(filename);

#ifdef USE_SCENE_FILE_MAPPING
    // see if the file is available locally
    for(vector<UCS2String>::const_iterator i(filenames.begin()); i != filenames.end(); i++)
    {
        FilenameToFilenameMap::iterator ilocalfile(scene2LocalFiles.find(*i));

        if(ilocalfile != scene2LocalFiles.end())
            return *i;
    }

    // see if the file is available as temporary file
    for(vector<UCS2String>::const_iterator i(filenames.begin()); i != filenames.end(); i++)
    {
        FilenameToFilenameMap::iterator itempfile(scene2TempFiles.find(*i));

        if(itempfile != scene2TempFiles.end())
            return *i;
    }
#endif

    // otherwise, request to find the file
    RenderBackend::SendFindFile(ctx, sceneId, frontendAddress, filenames, foundfile);

    return foundfile;
}
Esempio n. 13
0
UCS2String DefaultPlatformBase::GetTemporaryPath()
{
	return ASCIItoUCS2String("/tmp/");
}
Esempio n. 14
0
IMemStream::IMemStream(const unsigned char* data, size_t size, const char* formalName, POV_LONG formalStart) :
    IStream(ASCIItoUCS2String(formalName)), size(size), pos(0), start(data), formalStart(formalStart)
{
    fail = false;
}