michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef __nsDialogParamBlock_h michael@0: #define __nsDialogParamBlock_h michael@0: michael@0: #include "nsIDialogParamBlock.h" michael@0: #include "nsIMutableArray.h" michael@0: #include "nsCOMPtr.h" michael@0: michael@0: // {4E4AAE11-8901-46cc-8217-DAD7C5415873} michael@0: #define NS_DIALOGPARAMBLOCK_CID \ michael@0: {0x4e4aae11, 0x8901, 0x46cc, {0x82, 0x17, 0xda, 0xd7, 0xc5, 0x41, 0x58, 0x73}} michael@0: michael@0: class nsString; michael@0: michael@0: class nsDialogParamBlock: public nsIDialogParamBlock michael@0: { michael@0: public: michael@0: nsDialogParamBlock(); michael@0: virtual ~nsDialogParamBlock(); michael@0: michael@0: NS_DECL_NSIDIALOGPARAMBLOCK michael@0: NS_DECL_ISUPPORTS michael@0: michael@0: private: michael@0: michael@0: enum {kNumInts = 8, kNumStrings = 16}; michael@0: michael@0: nsresult InBounds(int32_t inIndex, int32_t inMax) { michael@0: return inIndex >= 0 && inIndex < inMax ? NS_OK : NS_ERROR_ILLEGAL_VALUE; michael@0: } michael@0: michael@0: int32_t mInt[kNumInts]; michael@0: int32_t mNumStrings; michael@0: nsString* mString; michael@0: nsCOMPtr mObjects; michael@0: }; michael@0: michael@0: #endif michael@0: