00001 #include "stdafx.h"
00002 #include ".\DNVorbisComments.h"
00003 #using <mscorlib.dll>
00004
00005
00006 namespace illiminable {
00007 namespace Ogg {
00008 namespace libVorbisCommentDotNET {
00009 DNVorbisComments::DNVorbisComments(void)
00010 : mNativeClass(NULL)
00011 {
00012 mNativeClass = new ::VorbisComments;
00013 }
00014
00015 DNVorbisComments::DNVorbisComments(::VorbisComments* inNativeClass) {
00016 mNativeClass = inNativeClass;
00017 }
00018
00019 DNVorbisComments::~DNVorbisComments(void)
00020 {
00021 delete mNativeClass;
00022 }
00023
00024
00025
00026 String* DNVorbisComments::vendorString() {
00027 return Wrappers::CStrToNetStr(mNativeClass->vendorString().c_str());
00028 }
00029 bool DNVorbisComments::setVendorString(String* inVendorString) {
00030 char* locCS = Wrappers::netStrToCStr(inVendorString);
00031 mNativeClass->setVendorString(locCS);
00032 Wrappers::releaseCStr(locCS);
00033 return true;
00034 }
00035
00036 Int64 DNVorbisComments::numUserComments() {
00037 Int64 locNum = mNativeClass->numUserComments();
00038 return locNum;
00039 }
00040 DNSingleVorbisComment* DNVorbisComments::getUserComment(Int64 inIndex) {
00041 unsigned long locIndex = inIndex;
00042
00043
00044 return new illiminable::Ogg::libVorbisCommentDotNET::DNSingleVorbisComment((::SingleVorbisComment*)mNativeClass->getUserComment(locIndex));
00045 }
00046
00047
00048
00049
00050
00051
00052 bool DNVorbisComments::addComment(String* inKey, String* inValue) {
00053 char* locCS1 = Wrappers::netStrToCStr(inKey);
00054 char* locCS2 = Wrappers::netStrToCStr(inValue);
00055 mNativeClass->addComment(locCS1, locCS2);
00056 Wrappers::releaseCStr(locCS1);
00057 Wrappers::releaseCStr(locCS2);
00058 return true;
00059 }
00060
00061
00062
00063 String* DNVorbisComments::toString() {
00064 return Wrappers::CStrToNetStr(mNativeClass->toString().c_str());
00065 }
00066
00067 Int64 DNVorbisComments::size() {
00068 Int64 locNum = mNativeClass->size();
00069 return locNum;
00070 }
00071
00072 }}}