Logo
~Sockets~
~Examples~
~Contact~


Mime.cpp

Go to the documentation of this file.
00001 
00006 /*
00007 Copyright (C) 2004  Anders Hedstrom
00008 
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2
00012 of the License, or (at your option) any later version.
00013 
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 GNU General Public License for more details.
00018 
00019 You should have received a copy of the GNU General Public License
00020 along with this program; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00022 */
00023 //#include <stdio.h>
00024 
00025 #include "Parse.h"
00026 #include "Mime.h"
00027 
00028 
00029 
00030 
00031 Mime::Mime(const std::string& filename)
00032 {
00033         FILE *fil;
00034         if ((fil = fopen(filename.c_str(),"rt")) != NULL)
00035         {
00036                 char slask[1000];
00037                 fgets(slask,1000,fil);
00038                 while (!feof(fil))
00039                 {
00040                         while (strlen(slask) && (slask[strlen(slask) - 1] == 13 || slask[strlen(slask) - 1] == 10))
00041                         {
00042                                 slask[strlen(slask) - 1] = 0;
00043                         }
00044                         Parse pa(slask);
00045                         std::string mime_type = pa.getword();
00046                         std::string ext = pa.getword();
00047                         while (ext.size())
00048                         {
00049                                 m_mime[ext] = mime_type;
00050                                 ext = pa.getword();
00051                         }
00052                         //
00053                         fgets(slask,1000,fil);
00054                 }
00055                 fclose(fil);
00056         }
00057         else
00058         {
00059                 fprintf(stderr,"Couldn't open file '%s'...\n",filename.c_str());
00060         }
00061 }
00062 
00063 
00064 Mime::~Mime()
00065 {
00066 }
00067 
00068 
00069 std::string Mime::GetMimeFromExtension(const std::string& ext)
00070 {
00071         std::string mime = m_mime[ext];
00072         return mime;
00073 }
00074 
00075 
Page, code, and content Copyright (C) 2006 by Anders Hedström
Generated on Mon Aug 29 20:21:47 2005 for C++ Sockets by  doxygen 1.4.4