00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include "stdafx.h"
00035 #include ".\metataglist.h"
00036 #using <mscorlib.dll>
00037
00038 namespace illiminable {
00039 namespace libCMMLTagsDotNET {
00040
00041 MetaTagList::MetaTagList(void)
00042 {
00043 mBaseClass = new C_MetaTagList;
00044 }
00045
00046 MetaTagList::MetaTagList(C_MetaTagList* inList, bool inDeleteBase)
00047 {
00048 mBaseClass = inList;
00049 mDeleteBase = inDeleteBase;
00050 }
00051
00052 MetaTagList::~MetaTagList(void)
00053 {
00054 if (mDeleteBase) {
00055 delete mBaseClass;
00056 }
00057 mBaseClass = NULL;
00058 }
00059
00060 void MetaTagList::emptyList() {
00061 getMe()->emptyList();
00062 }
00063
00064
00065 void MetaTagList::addTag(MetaTag* inTag) {
00066 getMe()->addTag(inTag->getMe()->clone());
00067
00068 }
00069 void MetaTagList::addTag(String* inName, String* inContent) {
00070 wchar_t* tc1 = Wrappers::netStrToWStr( inName );
00071 wchar_t* tc2 = Wrappers::netStrToWStr( inContent );
00072
00073 wstring locStr1 = tc1;
00074 wstring locStr2 = tc2;
00075
00076 getMe()->addTag(locStr1, locStr2);
00077
00078 Wrappers::releaseWStr( tc2 );
00079 Wrappers::releaseWStr( tc1 );
00080 }
00081
00082 unsigned long MetaTagList::numTags() {
00083 return getMe()->numTags();
00084
00085 }
00086
00087 MetaTag* MetaTagList::getTag(unsigned long inTagNo) {
00088 return new MetaTag(getMe()->getTag(inTagNo), false);
00089 }
00090 MetaTag* MetaTagList::getTag(String* inName) {
00091 wchar_t* tc = Wrappers::netStrToWStr( inName );
00092 wstring locStr = tc;
00093 MetaTag* retVal = new MetaTag(getMe()->getTag(locStr), false);
00094 Wrappers::releaseWStr( tc );
00095 return retVal;
00096
00097 }
00098
00099 String* MetaTagList::getContent(String* inName) {
00100 wchar_t* tc = Wrappers::netStrToWStr( inName );
00101 wstring locStr = tc;
00102 String* ts = Wrappers::WStrToNetStr(getMe()->getContent(locStr).c_str());
00103 Wrappers::releaseWStr( tc );
00104 return ts;
00105 }
00106
00107 String* MetaTagList::toString() {
00108 return Wrappers::WStrToNetStr(getMe()->toString().c_str());
00109 }
00110
00111
00112 C_MetaTagList* MetaTagList::getMe() {
00113 return (C_MetaTagList*)mBaseClass;
00114 }
00115
00116 }
00117 }