/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" %{ C++ typedef void (*NSSCMSContentCallback)(void *arg, const char *buf, unsigned long len); #define NS_CMSDECODER_CONTRACTID "@mozilla.org/nsCMSDecoder;1" %} native NSSCMSContentCallback(NSSCMSContentCallback); interface nsICMSMessage; /** * nsICMSDecoder * Interface to decode an CMS message */ [uuid(c7c7033b-f341-4065-aadd-7eef55ce0dda)] interface nsICMSDecoder : nsISupports { void start(in NSSCMSContentCallback cb, in voidPtr arg); void update(in string aBuf, in long aLen); void finish(out nsICMSMessage msg); };